INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-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.rnlu4aor', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', '247bfb6fb15745d3a8e691c548a379a8', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '1022', '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-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-wallaby-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.lze574j1', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', '8ce7cc2304634db199e4267ef2f32169', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '1022', '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-wallaby-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.a27oh1aw:/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', '93876a2bd40747b28f5fd7e25c7b21ce', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.a27oh1aw:/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.1s) DEBUG util.py:445: [pbr] Generating AUTHORS DEBUG util.py:445: [pbr] AUTHORS complete (0.4s) 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-17.1.1.dev10 DEBUG util.py:445: creating ironic-17.1.1.dev10/api-ref DEBUG util.py:445: creating ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: creating ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/files DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/files/debs DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/files/hooks DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/files/rpms DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/lib DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/tools DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/tools/ironic DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/tools/ironic/scripts DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/tools/ironic/templates DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/upgrade DEBUG util.py:445: creating ironic-17.1.1.dev10/devstack/upgrade/from-queens DEBUG util.py:445: creating ironic-17.1.1.dev10/doc DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/_exts DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/admin/interfaces DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/cli DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/configuration DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/images DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/install/refarch DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/install/standalone DEBUG util.py:445: creating ironic-17.1.1.dev10/doc/source/user DEBUG util.py:445: creating ironic-17.1.1.dev10/etc DEBUG util.py:445: creating ironic-17.1.1.dev10/etc/apache2 DEBUG util.py:445: creating ironic-17.1.1.dev10/etc/ironic DEBUG util.py:445: creating ironic-17.1.1.dev10/etc/ironic/rootwrap.d DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/api/controllers DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/api/middleware DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/cmd DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/common/glance_service DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/db DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/db/sqlalchemy DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/dhcp DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/network DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/storage DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/drivers/modules/xclarity DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/hacking DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/functional DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/json_samples DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/api/controllers DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/cmd DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/conf DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/dhcp DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: creating ironic-17.1.1.dev10/playbooks DEBUG util.py:445: creating ironic-17.1.1.dev10/playbooks/ci-workarounds DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source/_static DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source/_templates DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source/locale DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source/locale/en_GB DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source/locale/ja DEBUG util.py:445: creating ironic-17.1.1.dev10/releasenotes/source/locale/ja/LC_MESSAGES DEBUG util.py:445: creating ironic-17.1.1.dev10/tools DEBUG util.py:445: creating ironic-17.1.1.dev10/tools/config DEBUG util.py:445: creating ironic-17.1.1.dev10/tools/policy DEBUG util.py:445: creating ironic-17.1.1.dev10/zuul.d DEBUG util.py:445: copying files to ironic-17.1.1.dev10... DEBUG util.py:445: copying .mailmap -> ironic-17.1.1.dev10 DEBUG util.py:445: copying .stestr.conf -> ironic-17.1.1.dev10 DEBUG util.py:445: copying AUTHORS -> ironic-17.1.1.dev10 DEBUG util.py:445: copying CONTRIBUTING.rst -> ironic-17.1.1.dev10 DEBUG util.py:445: copying ChangeLog -> ironic-17.1.1.dev10 DEBUG util.py:445: copying LICENSE -> ironic-17.1.1.dev10 DEBUG util.py:445: copying README.rst -> ironic-17.1.1.dev10 DEBUG util.py:445: copying bindep.txt -> ironic-17.1.1.dev10 DEBUG util.py:445: copying driver-requirements.txt -> ironic-17.1.1.dev10 DEBUG util.py:445: copying requirements.txt -> ironic-17.1.1.dev10 DEBUG util.py:445: copying setup.cfg -> ironic-17.1.1.dev10 DEBUG util.py:445: copying setup.py -> ironic-17.1.1.dev10 DEBUG util.py:445: copying test-requirements.txt -> ironic-17.1.1.dev10 DEBUG util.py:445: copying tox.ini -> ironic-17.1.1.dev10 DEBUG util.py:445: copying api-ref/regenerate-samples.sh -> ironic-17.1.1.dev10/api-ref DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-allocation.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-chassis.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-conductors.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-deploy-templates.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-driver-passthru.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-drivers.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-indicators.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-misc.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-allocation.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-management.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-passthru.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-bios.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-portgroups.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-ports.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-traits.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-vifs.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-volume.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups-ports.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-ports.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-volume.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-versions.inc -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/conf.py -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/index.rst -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/parameters.yaml -> ironic-17.1.1.dev10/api-ref/source DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request-2.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-show-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocations-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-root-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-v1-root-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-create-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-details-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-show-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-details-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-show-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-show-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-get-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-logical-disk-properties-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-property-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/lookup-node-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-classic.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-dynamic.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-boot-device-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-state-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-supported-boot-devices-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-component-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-get-state-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-set-state.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-inject-nmi.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-maintenance-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state-deploy-steps.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-available-state.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-device.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-clean-state.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-manage-state.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-power-off.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-raid-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-soft-power-off.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-traits-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-show-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-traits-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-validate-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vendor-passthru-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-attach-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-details-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-detail-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-request.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-response.json -> ironic-17.1.1.dev10/api-ref/source/samples DEBUG util.py:445: copying devstack/common_settings -> ironic-17.1.1.dev10/devstack DEBUG util.py:445: copying devstack/plugin.sh -> ironic-17.1.1.dev10/devstack DEBUG util.py:445: copying devstack/settings -> ironic-17.1.1.dev10/devstack DEBUG util.py:445: copying devstack/files/apache-ipxe-ironic.template -> ironic-17.1.1.dev10/devstack/files DEBUG util.py:445: copying devstack/files/apache-ironic-api-redirect.template -> ironic-17.1.1.dev10/devstack/files DEBUG util.py:445: copying devstack/files/debs/ironic -> ironic-17.1.1.dev10/devstack/files/debs DEBUG util.py:445: copying devstack/files/hooks/qemu.py -> ironic-17.1.1.dev10/devstack/files/hooks DEBUG util.py:445: copying devstack/files/rpms/ironic -> ironic-17.1.1.dev10/devstack/files/rpms DEBUG util.py:445: copying devstack/lib/ironic -> ironic-17.1.1.dev10/devstack/lib DEBUG util.py:445: copying devstack/tools/ironic/scripts/cirros-partition.sh -> ironic-17.1.1.dev10/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/cleanup-node.sh -> ironic-17.1.1.dev10/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/configure-vm.py -> ironic-17.1.1.dev10/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/create-node.sh -> ironic-17.1.1.dev10/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/setup-network.sh -> ironic-17.1.1.dev10/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/templates/brbm.xml -> ironic-17.1.1.dev10/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/tftpd-xinetd.template -> ironic-17.1.1.dev10/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/vm.xml -> ironic-17.1.1.dev10/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/upgrade/resources.sh -> ironic-17.1.1.dev10/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/settings -> ironic-17.1.1.dev10/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/shutdown.sh -> ironic-17.1.1.dev10/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/upgrade.sh -> ironic-17.1.1.dev10/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/from-queens/upgrade-ironic -> ironic-17.1.1.dev10/devstack/upgrade/from-queens DEBUG util.py:445: copying doc/requirements.txt -> ironic-17.1.1.dev10/doc DEBUG util.py:445: copying doc/source/conf.py -> ironic-17.1.1.dev10/doc/source DEBUG util.py:445: copying doc/source/index.rst -> ironic-17.1.1.dev10/doc/source DEBUG util.py:445: copying doc/source/_exts/automated_steps.py -> ironic-17.1.1.dev10/doc/source/_exts DEBUG util.py:445: copying doc/source/admin/adoption.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-power.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-token.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/anaconda-deploy-interface.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/api-audit-support.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/bios.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/boot-from-volume.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/building-windows-images.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/cleaning.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/conductor-groups.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/console.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/deploy-steps.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/dhcp-less.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/fast-track.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/gmr.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/index.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/inspection.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/metrics.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/multitenancy.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-deployment.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-multitenancy.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/notifications.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/portgroups.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/power-sync.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/radosgw.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/raid.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/ramdisk-boot.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/report.txt -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/rescue.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/retirement.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/secure-rbac.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/security.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/troubleshooting.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/tuning.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-guide.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-to-hardware-types.rst -> ironic-17.1.1.dev10/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers/ansible.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ibmc.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/idrac.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ilo.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/intel-ipmi.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipa.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipmitool.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/irmc.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/redfish.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/snmp.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/xclarity.rst -> ironic-17.1.1.dev10/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/interfaces/boot.rst -> ironic-17.1.1.dev10/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/admin/interfaces/deploy.rst -> ironic-17.1.1.dev10/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/cli/index.rst -> ironic-17.1.1.dev10/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-dbsync.rst -> ironic-17.1.1.dev10/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-status.rst -> ironic-17.1.1.dev10/doc/source/cli DEBUG util.py:445: copying doc/source/configuration/config.rst -> ironic-17.1.1.dev10/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/index.rst -> ironic-17.1.1.dev10/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/policy.rst -> ironic-17.1.1.dev10/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-config.rst -> ironic-17.1.1.dev10/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-policy.rst -> ironic-17.1.1.dev10/doc/source/configuration DEBUG util.py:445: copying doc/source/contributor/adding-new-job.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/architecture.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bios_develop.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bugs.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/contributing.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/debug-ci-failures.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/deploy-steps.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/dev-quickstart.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/drivers.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/faq.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/governance.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/index.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-boot-from-volume.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-multitenant-networking.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/jobs-description.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/notifications.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/osprofiler-support.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rbac-testing.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/releasing.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rolling-upgrades.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/states.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/third-party-ci.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vendor-passthru.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision-reflection.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi-version-history.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi.rst -> ironic-17.1.1.dev10/doc/source/contributor DEBUG util.py:445: copying doc/source/images/conceptual_architecture.png -> ironic-17.1.1.dev10/doc/source/images DEBUG util.py:445: copying doc/source/images/deployment_architecture_2.png -> ironic-17.1.1.dev10/doc/source/images DEBUG util.py:445: copying doc/source/images/ironic_standalone_with_ibmc_driver.svg -> ironic-17.1.1.dev10/doc/source/images DEBUG util.py:445: copying doc/source/images/logical_architecture.png -> ironic-17.1.1.dev10/doc/source/images DEBUG util.py:445: copying doc/source/images/states.svg -> ironic-17.1.1.dev10/doc/source/images DEBUG util.py:445: copying doc/source/install/advanced.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configdrive.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-cleaning.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-compute.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-images.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-swift.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-identity.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-integration.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipmi.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipv6-networking.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-iscsi.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-networking.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-nova-flavors.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-pxe.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-tenant-networks.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/creating-images.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/deploy-ramdisk.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-drivers.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-https.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/enrollment.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/get_started.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/index.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/install-obs.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/install-rdo.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/install-ubuntu.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/install.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/next-steps.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/setup-drivers.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/standalone.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/troubleshooting.rst -> ironic-17.1.1.dev10/doc/source/install DEBUG util.py:445: copying doc/source/install/include/boot-mode.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-configure.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-prerequisites.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api-mod_wsgi.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-conductor.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/console.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/disk-label.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/kernel-boot-parameters.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/local-boot-partition-images.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/notifications.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/root-device-hints.inc -> ironic-17.1.1.dev10/doc/source/install/include DEBUG util.py:445: copying doc/source/install/refarch/common.rst -> ironic-17.1.1.dev10/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/index.rst -> ironic-17.1.1.dev10/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/small-cloud-trusted-tenants.rst -> ironic-17.1.1.dev10/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/standalone/configure.rst -> ironic-17.1.1.dev10/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/deploy.rst -> ironic-17.1.1.dev10/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/enrollment.rst -> ironic-17.1.1.dev10/doc/source/install/standalone DEBUG util.py:445: copying doc/source/user/index.rst -> ironic-17.1.1.dev10/doc/source/user DEBUG util.py:445: copying etc/apache2/ironic -> ironic-17.1.1.dev10/etc/apache2 DEBUG util.py:445: copying etc/ironic/README-ironic.conf.txt -> ironic-17.1.1.dev10/etc/ironic DEBUG util.py:445: copying etc/ironic/README-policy.yaml.txt -> ironic-17.1.1.dev10/etc/ironic DEBUG util.py:445: copying etc/ironic/api_audit_map.conf.sample -> ironic-17.1.1.dev10/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> ironic-17.1.1.dev10/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.d/ironic-utils.filters -> ironic-17.1.1.dev10/etc/ironic/rootwrap.d DEBUG util.py:445: copying ironic/__init__.py -> ironic-17.1.1.dev10/ironic DEBUG util.py:445: copying ironic/version.py -> ironic-17.1.1.dev10/ironic DEBUG util.py:445: copying ironic.egg-info/PKG-INFO -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/SOURCES.txt -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/dependency_links.txt -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/entry_points.txt -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/not-zip-safe -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/pbr.json -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/requires.txt -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/top_level.txt -> ironic-17.1.1.dev10/ironic.egg-info DEBUG util.py:445: copying ironic/api/__init__.py -> ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: copying ironic/api/app.py -> ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: copying ironic/api/config.py -> ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: copying ironic/api/functions.py -> ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: copying ironic/api/hooks.py -> ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: copying ironic/api/method.py -> ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: copying ironic/api/wsgi.py -> ironic-17.1.1.dev10/ironic/api DEBUG util.py:445: copying ironic/api/controllers/__init__.py -> ironic-17.1.1.dev10/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/base.py -> ironic-17.1.1.dev10/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/link.py -> ironic-17.1.1.dev10/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/root.py -> ironic-17.1.1.dev10/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/version.py -> ironic-17.1.1.dev10/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/v1/__init__.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/allocation.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/bios.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/chassis.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/collection.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/conductor.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/deploy_template.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/driver.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/event.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/network-data-schema.json -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/node.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/notification_utils.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/port.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/portgroup.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/ramdisk.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/utils.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/versions.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_connector.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_target.py -> ironic-17.1.1.dev10/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/middleware/__init__.py -> ironic-17.1.1.dev10/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/auth_public_routes.py -> ironic-17.1.1.dev10/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/json_ext.py -> ironic-17.1.1.dev10/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/parsable_error.py -> ironic-17.1.1.dev10/ironic/api/middleware DEBUG util.py:445: copying ironic/cmd/__init__.py -> ironic-17.1.1.dev10/ironic/cmd DEBUG util.py:445: copying ironic/cmd/api.py -> ironic-17.1.1.dev10/ironic/cmd DEBUG util.py:445: copying ironic/cmd/conductor.py -> ironic-17.1.1.dev10/ironic/cmd DEBUG util.py:445: copying ironic/cmd/dbsync.py -> ironic-17.1.1.dev10/ironic/cmd DEBUG util.py:445: copying ironic/cmd/status.py -> ironic-17.1.1.dev10/ironic/cmd DEBUG util.py:445: copying ironic/common/__init__.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/args.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/boot_devices.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/boot_modes.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/cinder.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/components.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/config.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/context.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/dhcp_factory.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/driver_factory.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/exception.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/faults.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/fsm.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/grub_conf.template -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/hash_ring.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/i18n.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/image_service.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/images.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/indicator_states.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/isolinux_config.template -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/keystone.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/molds.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/network.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/neutron.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/nova.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/policy.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/profiler.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/pxe_utils.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/raid.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/release_mappings.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/rpc.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/rpc_service.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/service.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/states.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/swift.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/utils.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/wsgi_service.py -> ironic-17.1.1.dev10/ironic/common DEBUG util.py:445: copying ironic/common/glance_service/__init__.py -> ironic-17.1.1.dev10/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/image_service.py -> ironic-17.1.1.dev10/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/service_utils.py -> ironic-17.1.1.dev10/ironic/common/glance_service DEBUG util.py:445: copying ironic/conductor/__init__.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/allocations.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/base_manager.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/cleaning.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/deployments.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/manager.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/notification_utils.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/rpcapi.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/steps.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/task_manager.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conductor/utils.py -> ironic-17.1.1.dev10/ironic/conductor DEBUG util.py:445: copying ironic/conf/__init__.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/agent.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/anaconda.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/ansible.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/api.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/audit.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/auth.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/cinder.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/conductor.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/console.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/database.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/default.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/deploy.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/dhcp.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/drac.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/glance.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/healthcheck.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/ibmc.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/ilo.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/inspector.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/ipmi.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/irmc.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/iscsi.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics_statsd.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/molds.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/neutron.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/nova.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/opts.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/pxe.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/redfish.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/service_catalog.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/snmp.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/swift.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/conf/xclarity.py -> ironic-17.1.1.dev10/ironic/conf DEBUG util.py:445: copying ironic/db/__init__.py -> ironic-17.1.1.dev10/ironic/db DEBUG util.py:445: copying ironic/db/api.py -> ironic-17.1.1.dev10/ironic/db DEBUG util.py:445: copying ironic/db/migration.py -> ironic-17.1.1.dev10/ironic/db DEBUG util.py:445: copying ironic/db/sqlalchemy/__init__.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic.ini -> ironic-17.1.1.dev10/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/api.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/migration.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/models.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/README -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/env.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/script.py.mako -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> ironic-17.1.1.dev10/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-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> ironic-17.1.1.dev10/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/dhcp/__init__.py -> ironic-17.1.1.dev10/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/base.py -> ironic-17.1.1.dev10/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/neutron.py -> ironic-17.1.1.dev10/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/none.py -> ironic-17.1.1.dev10/ironic/dhcp DEBUG util.py:445: copying ironic/drivers/__init__.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/base.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/drac.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/fake_hardware.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/generic.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/hardware_type.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ibmc.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ilo.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/intel_ipmi.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ipmi.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/irmc.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/raid_config_schema.json -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/redfish.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/snmp.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/utils.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/xclarity.py -> ironic-17.1.1.dev10/ironic/drivers DEBUG util.py:445: copying ironic/drivers/modules/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_base.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_client.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_config.template -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_power.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot.ipxe -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot_mode_utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/console_utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/deploy_utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/fake.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_cache.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspect_utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspector.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipmitool.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/iscsi_deploy.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/master_grub_cfg.txt -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop_mgmt.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_base.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/snmp.py -> ironic-17.1.1.dev10/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ansible/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/deploy.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/inventory -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> ironic-17.1.1.dev10/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-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> ironic-17.1.1.dev10/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying ironic/drivers/modules/drac/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/bios.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/boot.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/common.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/inspect.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/job.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/management.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/power.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/raid.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/vendor_passthru.py -> ironic-17.1.1.dev10/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/ibmc/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/management.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/mappings.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/power.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/raid.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/vendor.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ilo/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/bios.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/boot.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/common.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/console.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/firmware_processor.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/inspect.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/management.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/power.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/raid.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/vendor.py -> ironic-17.1.1.dev10/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/management.py -> ironic-17.1.1.dev10/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/irmc/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/bios.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/boot.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/common.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/inspect.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/management.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/packaging_version.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/power.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/raid.py -> ironic-17.1.1.dev10/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/network/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/common.py -> ironic-17.1.1.dev10/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/flat.py -> ironic-17.1.1.dev10/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/neutron.py -> ironic-17.1.1.dev10/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/noop.py -> ironic-17.1.1.dev10/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/redfish/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/bios.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/boot.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/inspect.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/management.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/power.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/raid.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/utils.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/vendor.py -> ironic-17.1.1.dev10/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/storage/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/cinder.py -> ironic-17.1.1.dev10/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/external.py -> ironic-17.1.1.dev10/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/noop.py -> ironic-17.1.1.dev10/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/xclarity/__init__.py -> ironic-17.1.1.dev10/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/common.py -> ironic-17.1.1.dev10/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/management.py -> ironic-17.1.1.dev10/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/power.py -> ironic-17.1.1.dev10/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/hacking/__init__.py -> ironic-17.1.1.dev10/ironic/hacking DEBUG util.py:445: copying ironic/hacking/checks.py -> ironic-17.1.1.dev10/ironic/hacking DEBUG util.py:445: copying ironic/objects/__init__.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/allocation.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/base.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/bios.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/chassis.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/conductor.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/deploy_template.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/deployment.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/fields.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/indirection.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/node.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/notification.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/port.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/portgroup.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/trait.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_connector.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_target.py -> ironic-17.1.1.dev10/ironic/objects DEBUG util.py:445: copying ironic/tests/__init__.py -> ironic-17.1.1.dev10/ironic/tests DEBUG util.py:445: copying ironic/tests/base.py -> ironic-17.1.1.dev10/ironic/tests DEBUG util.py:445: copying ironic/tests/functional/__init__.py -> ironic-17.1.1.dev10/ironic/tests/functional DEBUG util.py:445: copying ironic/tests/json_samples/network_data.json -> ironic-17.1.1.dev10/ironic/tests/json_samples DEBUG util.py:445: copying ironic/tests/unit/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/policy_fixture.py -> ironic-17.1.1.dev10/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/raid_constants.py -> ironic-17.1.1.dev10/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/stubs.py -> ironic-17.1.1.dev10/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/test_base.py -> ironic-17.1.1.dev10/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/api/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/base.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl_basic.yaml -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_audit.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_functions.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_healthcheck.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_hooks.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_method.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_middleware.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_ospmiddleware.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_proxy_middleware.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_legacy.yaml -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_root.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/controllers/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/test_base.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_collection.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_driver.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_event.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_node.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_port.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_root.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_versions.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> ironic-17.1.1.dev10/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/cmd/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_conductor.py -> ironic-17.1.1.dev10/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_dbsync.py -> ironic-17.1.1.dev10/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_status.py -> ironic-17.1.1.dev10/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/common/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_args.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_cinder.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_context.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_driver_factory.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_fsm.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_glance_service.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_hash_ring.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_image_service.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_images.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_keystone.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_molds.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_network.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_neutron.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_nova.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_policy.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_pxe_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_raid.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_release_mappings.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc_service.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_states.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_swift.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_wsgi_service.py -> ironic-17.1.1.dev10/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> ironic-17.1.1.dev10/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> ironic-17.1.1.dev10/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> ironic-17.1.1.dev10/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> ironic-17.1.1.dev10/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> ironic-17.1.1.dev10/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> ironic-17.1.1.dev10/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/conductor/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/mgr_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_allocations.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_base_manager.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_cleaning.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_deployments.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_manager.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_notification_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_rpcapi.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_steps.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_task_manager.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conf/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/conf/test_auth.py -> ironic-17.1.1.dev10/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/db/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/base.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_allocations.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_api.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_bios_settings.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_chassis.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_conductor.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_deploy_templates.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_tags.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_traits.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_nodes.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_portgroups.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_ports.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_connectors.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_targets.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_api.py -> ironic-17.1.1.dev10/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> ironic-17.1.1.dev10/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_models.py -> ironic-17.1.1.dev10/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> ironic-17.1.1.dev10/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/dhcp/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_factory.py -> ironic-17.1.1.dev10/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_neutron.py -> ironic-17.1.1.dev10/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/drivers/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot.ipxe -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_config.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_grub_config.template -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_base.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_drac.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_fake_hardware.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_generic.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ibmc.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ilo.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ipmi.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_irmc.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_redfish.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_snmp.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_xclarity.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_base.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_client.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_power.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_console_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_cache.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspector.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipxe.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_pxe.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_snmp.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_common.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_job.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_management.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_power.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/base.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_common.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_flat.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_noop.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_external.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> ironic-17.1.1.dev10/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/objects/__init__.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_allocation.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_bios.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_chassis.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_conductor.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deploy_template.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deployment.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_fields.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_notification.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_objects.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_port.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_portgroup.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_trait.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_connector.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_target.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/utils.py -> ironic-17.1.1.dev10/ironic/tests/unit/objects DEBUG util.py:445: copying playbooks/ci-workarounds/etc-neutron.yaml -> ironic-17.1.1.dev10/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/get_tftpd.yaml -> ironic-17.1.1.dev10/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/pre.yaml -> ironic-17.1.1.dev10/playbooks/ci-workarounds DEBUG util.py:445: copying releasenotes/config.yaml -> ironic-17.1.1.dev10/releasenotes DEBUG util.py:445: copying releasenotes/notes/.placeholder -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/5.0-release-afb1fbbe595b6bc8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/Add-port-option-support-to-ipmitool-e125d07fe13c53e7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/active-node-creation-a41c9869c966c82b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-api-error-77ec6c272390c488.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-erase-fallback-b07613a7042fe236.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-iboot-0a4b5471c6ace461.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-proxy-support-790e629634ca2eb7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ansible-python-interpreter-2035e0f23d407aaf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-from-volume-support-9f64208f083d0691.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-mode-redfish-inspect-48e2b27ef022932a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-choice-to-some-options-9fb327c48e6bfda1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-cisco-ucs-hardware-types-ee597ff0416f158f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-clean-steps-priority-88d7de5973500a7d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-config-mold-steps-idrac-1773d81953209964.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-configurable-ipmi-retriables-b6056f722f6ed3b0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-db-deadlock-handling-6bc10076537f3727.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-arg-9d8c58559c14288c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-drac-raid-interface-7023c03a96996265.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-bios-interface-c73152269701ef80.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-management-interface-9d0f45954eda643a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-raid-interface-732314cea19fe8ac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-redfish-bios-interface-f5e5415108f87598.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dual-stack-dhcp-opts-6dc18ae10aeb599a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dynamic-allocation-feature-2fd6b4df7943f178.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-gmr-3c9278d5d785895f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-healthcheck-middleware-86120fa07a7c8151.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ibmc-raid-interface-0c13826e134fb4ce.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-id-and-uuid-filtering-to-sqalchemy-api.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-inband-deploy-step-update-firmware-using-sum-cfee84a19120dd3c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-uefi-https-boot-interface-f3b163a8a6243283.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-indicator-api-8c816b3828e6b43b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspect-wait-state-948f83dfe342897b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspection-abort-a187e6e5c1f6311d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipv6-pxe-support-8fb51c355cc977c4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipxe-boot-iso-support-6ae2f5cc2250be3e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iscsi-portal-port-option-bde3b386f44f2a90.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-less-vmedia-ilo-5816922c03d0fd85.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-param-config-ilo-9b2cee8b0447f82e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-params-redfish-72b87075465c87f6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-neutron-request-timeout-1f7372af81f14ddd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-bios-9c1c3d442e8acdac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-boot-mode-control-9761d4bcbd8c3a0d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-description-790097704f45af91.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-resource-class-c31e26df4196293e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-notifications-97b6c79c18b48073.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-oneview-driver-96088bf470b16c34.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-option-persistent-boot-device-139cf280fb66f4f7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-owner-information-52e153faf570747e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-parallel-power-syncs-b099d66e80aab616.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-advanced-net-fields-55465091f019d962.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-internal-info-b7e02889416570f7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-is-smartnic-4ce6974c8fe2732d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-prep-partition-support-d808849795906e64.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-nic-support-in-redfish-5359897135df1348.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-per-node-526fd79df17efda8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-support-for-petitboot-50d1fe4e7da4bfba.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-realtime-support-d814d5917836e9e2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-auth-type-5fe78071b528e53b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-interface-e7e05bdd2c894d80.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-mode-support-2f1a2568e71c65d0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot_iso-pass-through-8a6f4d0c98ada1d5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-inspect-interface-1577e70167f24ae4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-sensors-4e2f7e3f8a7c6d5b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-2c1f09271f96424d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-9509f3735df2aa5d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-inspection-support-e68fd6d57cb33846.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-baytech-mrp27-5007d1d7e0a52162.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-discovery-1f280b7f06fd1ca5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-read-write-community-names-7589a8d1899c142c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmpv3-security-features-bbefb8b844813a53.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-socat-console-ipmitool-ab4402ec976c5c96.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ssl-support-4547801eedba5942.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-storage-interface-d4e64224804207fc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-no-poweroff-on-failure-86e43b3e39043990.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-smart-nic-0fc5b10ba6772f7f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-to-manage_certs-b6615e15f697bc26.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-target-raid-config-ansible-deploy-c9ae81d9d25c62fe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-timeout-parameter-to-power-methods-5f632c936497685e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-tooz-dep-85c56c74733a222d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-2202e8ce9a174ece.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-to-boot-interface-bd74aff9e250334b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_automated_clean_field-b3e7d56f4aeaf512.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_clear_job_queue-7b774d8d0e36d1b2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_reset_idrac_and_known_good_state-cdbebf97d7b87fe7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_conversion_flags_iscsi-d7f846803a647573.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_cpu_fpga_trait_for_irmc_inspection-2b63941b064f7936.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_detail_true_api_query-cb6944847830cd1a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_infiniband_support-f497767f77277a1a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_retirement_support-23c5fed7ce8f97d4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_security_capabilities_to_ilo-1ff11b01e5930cc7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/added-redfish-driver-00ff5e3f7e9d6ee8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-audit-middleware-b95f2a00baed9750.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-external-storage-interface-9b7c0a0a2afd3176.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ilo-ipxe-boot-interface-4fc75292122db80d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-nvme-erase-switch-fa91e867e45ede3c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-39fc61bc77b57beb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-support-to-ilo-vmedia-1a7228a834465633.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-secure-erase-switch-23f449c86b3648a4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-ironic-context-5e75540dc2b2f009.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-oslo-config-generator-15afd2e7c2f008b4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adoption-feature-update-d2160954a2c36b0a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-api-bf9f18d8d38075e4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-can-request-reboot-6238e13e2e898f68.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-client-poll-ce16fd589e88c95a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-command-status-retry-f9b6f53a823c6b01.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-http-provisioning-d116b3ff36669d16.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-a000fdf37cb870e4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-off-2115fcfaac030bd0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-647acfd599e83476.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-validate-f7348ac034606b83.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-rebooted-fab20d012fe6cbe8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-817a03776bd46d5b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-support-0a5b5aa1585dfbb5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-uuid-5d86bc18849acda3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-6efa3dfc469bab02.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-ddbfbb0f27198d82.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-wol-driver-4116f64907d0db9c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent_partition_image-48a03700f41a3980.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-added-owner-policy-c650074e68d03289.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-api-6ac2d262689f5f59.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-backfill-c31e84c5fcf24216.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-delete-26c7c2f1651759f5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-owner-policy-162c43b3abb91c76.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocations-restricted-rbac-create-2847943150656432.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-allocation-update-94d862c3da454be2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-deleting-unbound-ports-fa78069b52f099ac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-pxelinux-config-folder-to-be-defined-da0ddd397d58dcc8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-set-interface-to-node-in-available-bd6f695620c2d77f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-to-attach-vif-to-active-node-55963be2ec269043.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_custom_certificate_validation-8ba00759ed79e429.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_to_disable_automated_clean-a3ccb1e19940a7a4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/always-return-chassis-uuid-4eecbc8da2170cb1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/amt-driver-wake-up-0880ed85476968be.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-more-fixes-58d996c7031c8c4b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-instance-info-fix-a51837d8ac7b41de.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-deploy-15da234580ca0c30.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-fast-track-cbecb132b6ff2b14.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-loops-de0eef0d5b79a9ff.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/any-wsgi-8d6ccb0590104146.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/apache-multiple-workers-11d4ba52c89a13e3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-cdb95e58b69a5c50.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-workers-c06ea95a0c55b8cf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/assume-gpt-for-uefi-boot-mode-8f9c77721394459a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async-deprecate-b3d81d7968ea47e5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async_bios_clean_step-7348efff3f6d02c1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/automated_clean_config-0170c95ae210f953.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/backfill_version_column_db_race_condition-713fa05832b93ca5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/better-handle-skip-upgrade-3b6f06ac24937aa4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bfv-pxe-boot-3375d331ee2f04f2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-config-manage-ccefd24054cc73ee.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-version-dfd5c95805c295c5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/blank-mac-f8e0b37e0bd6d719.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bmc_reset-warm-9396ac444cafd734.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-from-url-98d21670e726c518.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-ipxe-inc-workaround-548e10d1d6616752.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-validate-6b4b6b40c8e27273.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bp-nova-support-instance-power-update-49c531ef13982e62.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/broken-driver-update-fc5303340080ef04.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1506657-3bcb4ef46623124d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1518374-decd73fd82c2eb94.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1548086-ed88646061b88faf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1570283-6cdc62e4ef43cb02.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1579635-cffd990b51bcb5ab.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1592335-7c5835868fe364ea.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1596421-0cb8f59073f56240.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1607527-75885e145db62d69.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611555-de1ec64ba46982ec.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611556-92cbfde5ee7f44d6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1672457-563d5354b41b060e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1694645-57289200e35bd883.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1696296-a972c8d879b98940.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1702158-79bf57bd4d8087b6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749433-363b747d2db67df6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749860-457292cf62e18a0e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2001832-62e244dc48c1f79e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002062-959b865ced05b746.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002093-9fcb3613d2daeced.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2003972-dae9b7d0f6180339.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004265-cd9056868295f374.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004947-e5f27e11b8f9c96d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005377-5c63357681a465ec.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005764-15f45e11b9f9c96d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006266-85da234583ca0c32.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006275-a5ca234683ca4c32.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006334-0cd8f59073f56241.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007567-wsman-raid-48483affdd9f9894.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007963-idrac-wsman-raid-apply-configuration-792ccf195057016b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2008058-fix-factory-reset-status.yaml-52a6119b46e33b37.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30315-e46eafe5b575f3da.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30316-8c53358681e464eb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30317-a972c8d879c98941.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-35702-25da234580ca0c31.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-configdrive-5b3b9095824faf4e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-iso-from-esp-d156036aa8ef85fb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-uefi-only-iso-ce6bcb0da578d1d6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bump-min-ansible-ver-a78e7885c0e9d361.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cache-agentclient-per-task-ec2231684e6876d9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/caseless-conductor-restart-check-f70005fbf65f6bb6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/catch-third-party-driver-validate-exceptions-94ed2a91c50d2d8e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-default-boot-option-to-local-8c326077770ab672.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ramdisk-log-filename-142b10d0b02a5ca6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change_default_use_ipmitool_retries-2529ce032eae7d1b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-dynamic-allocation-enabled-e94f3b8963b114d0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_obj_versions-e86d897df673e833.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cinder-2019892-6b5a9de5c5f05aa6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cipher_suite_versions-c64644860d3c220d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cisco-drivers-deleted-5a42a8c508704c64.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clean-nodes-stuck-in-cleaning-on-startup-443823ea4f937965.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-bios-d74a4947d2525b80.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-logs-dc115b0926ae3982.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-maintenance-7ae83b1e4ff992b0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-retry-fix-89a5d0e65920a064.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-token-9755f96d1284f78a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-ipxe-f1349e2ac9ec2825.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanwait_timeout_fail-4323ba7d4d4da3e6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-hung-iscsi-sessions-d3b55c4c65fa4c8b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-node-target-power-state-de1f25be46d3e6d7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-target-stable-states-4545602d7aed9898.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/collect-deployment-logs-2ec1634847c3f6a5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-groups-c22c17e276e63bed.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-power-sync-timeout-extension-fa5e7b5fdd679d84.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-version-backfill-9d06f2ad81aebec3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor_early_import-fd29fa8b89089977.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-deploy-image-5adb6c1963b149ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/config-drive-support-for-whole-disk-images-in-iscsi-deploy-0193c5222a7cd129.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-format-1b11f6068bd742cd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-using-ceph-radosgw-8c6f7b8bede2077c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-vendordata-122049bd7c6e1b67.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive_use_object_store-93cfd7dc27d90003.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configure-notifications-72824356e7d8832a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/console-port-allocation-bb07c43e3890c54c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/continue-node-deploy-state-63d9dc9cdcf8e37a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-api-version-check-conditional-for-nodename-439bebc02fb5493d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-detailed-instance-info-behavior-1375914a30621eca.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-port-on-conductor-b921738b4b2a5def.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-params-cleaning-f938549964ff6df0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-check-version-c71d5f4fd89ed117.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-online_data_migration-edcf0b1cc3667582.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-no-api-tracebacks-a8a0caddc9676b06.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-sensor-data-fix-for-ipmitool-eb13e80ccdd984db.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decouple-boot-params-2b05806435ad21e5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-policy-file-change-474a342d6b5a041a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-resource-class-e11bacfb01d6841b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-swift_account-b008d08e85bdf154.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-api-url-eb2ea29aa63a2cb5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-cinder-url-cf43cd0336c22878.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-fatal_exception_format_errors-f63b15c8aa460dff.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dell-boss-raid1-ec33e5b9c59d4021.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deny-too-long-chassis-description-0690d6f67ed002d5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-configdrive-86ea2bb267211b88.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-error-d343e8cb7d1b2305.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-validate-76b2aa97e02ba669.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-steps-required-aa72cdf1c0ec0e84.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-templates-5df3368df862631c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy_steps-243b341cf742f7cc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deployment-cleaning-polling-flag-be13a866a7c302d7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-agent-passthru-67d1e2cf25b30a30.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-cisco-drivers-3ae79a24b76ff963.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-clustered-compute-manager-3dd68557446bcc5c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-glance-url-scheme-ceff3008cf9cf590.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-global-region-4dbea91de71ebf59.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-hash-distribution-replicas-ef0626ccc592b70e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-ibmc-9106cc3a81171738.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-inspector-enabled-901fd9c9426046c7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-irmc-031f55c3bb1fb863.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-support-for-glance-v1-8b194e6b20cbfebb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-config-af9b753f96779f42.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-cinder-opts-e10c153768285cab.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-glance-opts-4825f000d20c2932.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-0520b08dbcd10681.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-b19a08339712cfd7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-ops-79abab5b013b7939.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-opts-2e1d9e65f00301d3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/destroy-broken-8b13de8382199aca.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-less-less-2a35df67d840f9d5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-provider-clean-dhcp-9352717903d6047e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpless-deploy-4b91de74adeff781.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpv6-stateful-address-count-0f94ac6a55bd9e51.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-deploy-steps-36486987156017d7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-fast-track-d0f43850b6e80751.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-file-6f80728d76093530.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-clean-step-reset-ilo-1869a6e08f39901c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-ramdisk-5156a009812fbb17.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_task-590a91c0a5235cfb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_tasks-0ea39fa7a8a108c6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-capability-d36d126e0ad36dca.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-fix-7580de913835ff44.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-cleanup-cache-twice-0395a50ad723bca8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-validate-local_link_connection-when-port-has-client-id-8e584586dc4fca50.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-double-manage-provide-cycle-6ac8a427068f87fe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-get_bios_config-vendor-passthru-causes-exception-1e1dbeeb3e924f29.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-oob-cleaning-b4b717895e243c9b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-power-on-reboot-race-condition-fe712aa9c79ee252.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-prepare-cleaning-d74ba45135d84531.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-raid10-greater-than-16-drives-a4cb107e34371a51.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-inspection-interface-b0abbad98fec1c2e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-list-unfinished-jobs-10400419b6bc3c6e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-migrate-to-dracclient-2bd8a6d1dd3fdc69.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-missing-lookup-3ad98e918e1a852a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-raid-interface-f4c02b1c4fb37e2d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac_host-deprecated-b181149246eecb47.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/driver-maintenance-0945c2939fa4e917.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-ironic-lib-rootwrap-filters-f9224173289c1e30.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-py-2-7-5140cb76e321cdd1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dual-stack-ironic-493ebc7b71263aaa.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/duplicated-driver-entry-775370ad84736206.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/emit-metrics-for-api-calls-69f18fd1b9d54b05.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/empty-physical-network-2248a4adef210289.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enable-osprofiler-support-e3839b0fa90d3831.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enhanced-checksum-f5a2b7aa8632b88f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ensure-unbind-flat-vifs-and-clear-macs-34eec149618e5964.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/erase-devices-metadata-config-f39b6ca415a87757.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/error-resilient-enabled_drivers-4e9c864ed6eaddd1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/explicit_ipxe_config_options-d7bf9a743a13f523.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/expose-conductor-d13c9c4ef9d9de86.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/extends-install-bootloader-timeout-8fce9590bf405cdf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/external-ip-5ec9b7b55a90cec4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fail-when-vif-port-id-is-missing-7640669f9d9e705d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-noop-bebc43983eb801d1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake_soft_power-32683a848a989fc2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-bios-fa9ae685c151dd24.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-deployment-f09a8b921b3aae36.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-opt-d50eab2cc58fddcb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-steps-81bd79a2a91e1b30.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-validate-723f27986a012ffe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-with-cleaning-438225116a11662d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fifteen-0da3cca48dceab8b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fips-hashlib-bca9beacc2b48fe7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-clean-up-9a25deb85bc53d9b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-ilo-temp-image-cleanup-711429d0e67807ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-anaconda-deploy-interface-bfa2cfca22b04680.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-node-name-updates-f3813295472795be.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-60bc0790ada62b26.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-71c1f2905498c50d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-url-for-v6-802abde9de8ba455.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-bug-1675529-479357c217819420.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-busy-agent-check-3cf75242b4783009.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-capabilities-as-string-agent-7c5c7975560ce280.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-clean-steps-not-running-0d065cb022bc0419.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-spawn-error-60b60281f3be51c2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-with-traits-3a54faa70d594fd0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-conductor-list-raise-131ac76719b74032.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cpu-count-8904a4e1a24456f4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-create-configuration-0e000392d9d7f23b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cve-2016-4985-b62abae577025365.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-delete_configuration-with-multiple-controllers-06fc3fca94ba870f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-dir-permissions-bc56e83a651bbdb0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-do-not-tear-down-nodes-upon-cleaning-failure-a9cda6ae71ed2540.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drac-job-state-8c5422bbeaf15226.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drives-conversion-before-raid-creation-ea1f7eb425f79f2f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-duplcate-extra-dhcp-options-4edb729cb5bcf552.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-esp-grub-path-9e5532993dccc07a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fast-track-entry-path-467c20f97aeb2f4b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fields-missing-from-next-url-fd9fddf8e70b65ea.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-boot-device-not-persistent-de6159d8d2b60656.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-deploy-info-port.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-gmr-37332a12065c09dc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-grub2-config-file-name-88e689a982a21684.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-idrac-wsman-deploy-with-existing-non-bios-jobs-78aa2195d0c3016f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-drivers-log-message-c3c64c1ca0a0bca8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-firmware-update-swift-path-with-pseudo-folder-0660345510ec0bb4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-inspection-for-idrac-34b3ea09452af8be.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-instance-master-path-config-fa524c907a7888e5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipa-ephemeral-partition-1f1e020727a49078.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmi-numeric-password-75e080aa8bdfb9a2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmitool-console-empty-password-a8edc5e2a1a7daf6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-option6-tag-549093681dcf940c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-provisioning-routed-provider-network-bbd0c46559f618ac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-interface-without-opt-enabled-4fa2f83975295e20.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-macro-4ae8bc4fe82e8f19.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-template-for-whole-disk-image-943da0311ca7aeb5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-inspection-c9ae3864a96b2588.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-keystone-parameters-cdb93576d7e7885b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-48060f9e2847a38c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-update-with-contrail-b1e1b725cc0829c2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mitaka-ipa-iscsi.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-multi-attached-volumes-092ffedbdcf0feac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-net-ifaces-rebuild-1cc03df5d37f38dd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data-e10f2bf9dc38ba1a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data2-f2600afdcc182dc4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-noop-net-vif-list-a3d8ecee29097662.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-not-exist-deploy-image-for-irmc-cb82c6e0b52b8a9a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deallocate-server-8256e279af837e5d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deploy-return-values-ab2ec6ae568d95a5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-pagination-marker-with-custom-field-query-65ca29001a03e036.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-path-a3a0cfd2c135ace9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-prepare-instance-for-agent-interface-56753bdf04dd581f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-provisioning-port-cleanup-79ee7930ca206c42.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-reboot-log-collection-c3e22fc166135e61.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-bios-apply-configuration-error-handling-464695b09e4f81ac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-config-9e868c3e069475a1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-failed-tasks-02487c4698dea176.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-interface-type-4b3566b637cc2301.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-onreset-workflow-bfa44de6b0263a1f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-sadness-workaround-ed02cb310ff369f4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-vm-boot-idrac-37ec734e6643cbac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-security-group-list-add-query-filters-f72cfcefa1e093d2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sendfile-size-cap-d9966a96e2d7db51.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sensors-storage-ed5d5bbda9b46645.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-pipe-not-ready-f860c4b7a1ef71a8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-socat-command-afc840284446870a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-binary-upload-bf9471fca29290e1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-ssl-options-d93d653dcd404960.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sync-power-state-last-error-65fa42bad8e38c3b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-tftp-master-path-config-77face94f5db9af7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-updating-node-driver-to-classic-16b0d5ba47e74d10.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-url-collisions-43abfc8364ca34e7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vif-detach-fca221f1a1c0e9fa.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-virtualbox-localboot-not-working-558a3dec72b5116b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-bios-async-step-error-handling-80cd30c54c71c595.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-raid-async-step-error-handling-f44e2001ac018d12.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-xclarity-management-defect-ec5af0cc6d1045d9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_deploy_validation_resp_code-ed93627d1b0dfa94.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url-42fb4023fde9da2b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url_ports-8d2696a6a7ab012f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pending_non_bios_job_execution-4b22e168ac915f4f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_raid0_creation_for_multiple_disks-f47957754fca0312.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-deployment-failure-with-fasttrack-f1fe05598fbdbe4a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-execution-of-out-of-band-deploy-steps-1f5967e7bfcabbf9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-get-boot-option-for-software-raid-baa2cffd95e1f624.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-ilo5-redfish-firmware-update-issue-c6dfcd71a2f659a5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-noop-network-with-grub-8fd99a73b593ddba.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/flag_always_reboot-62468a7058b58823.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-persistent-common-6ef2537f7ccd0dcb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/futurist-e9c55699f479f97a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-commands-status-timeout-ecbac91ea149e755.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-supported-boot-devices-manadatory-task-0462fc072d6ea517.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-deprecations-21e7014b72a1bcef.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-keystone-dd30b884f07f83fb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-v2-83b04fec247cd22f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/gpu_dynamic_capabilities-b56b90549882b6c2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/grub-default-change-to-mac-1e301a96c49acec4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-older-agent-command-5930124fd03bb327.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-6ce212ab86c2592d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-algo-4337c18117b33070.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hctl-root-device-hints-0cab86673bc4a924.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat-locked-6e53b68337d5a258.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat_agent_version-70f4e64b19b51d87.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hexraw-support-removed-8e8fa07595a629f4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/html-errors-27579342e7e8183b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-basic-auth-f8c0536eba989918.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-local-4e8f32c6d5309f12.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hw-ifaces-periodics-af8c9b93ecca9fcd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-38-169438974508f62e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-driver-45fcf9f50ebf0193.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmcclient-fix-8c6cb49be0aef5f2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-ehba-support-10b90c92b8865364.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-gpu-reporting-support-f4d80e2071f85f6a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-initial-redfish-support-27f27f18f3c1cd91.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-more-gpu-support-c3e24d8471ed6759.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-bios-support-3633d2fc94d31f62.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-boot-support-036396b48d3f71f4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-inspect-support-ce74bd3d4a97b588.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-raid-support-414aad5e633a160f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-advance-python-dracclient-version-01c6ef671670ffb3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-jbod-to-raid-1a229627708e10b9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-raid-to-jbod-de10755d1ec094ea.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-deprecated-idrac-interface-__init__-362696b389c86d5d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-reboot-failure-c740e765ff41bcf0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-hardware-type-54383960af3459d0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-conf-partial-success-86b8bd1983d227f6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-configuration-task-deleted-2a0e6a96509394b6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-remove-commit_required-d9ea849e8f5e78e2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-uefi-boot-mode-86f4694b4247a1ca.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-bios-interface-b39a51828f61eff6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-completed-with-errors-f65c9a48ed4c02d4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-set-power-state-wait-cd8f9ff41b19c7a7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-async-bios-clean-steps-15e49545ba818997.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-automated-cleaning-fails-14ee438de3dd8690.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-bios-settings-bc91524c459a4fd9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-from-iscsi-volume-41e8d510979c5037.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-interface-92831b78c5614733.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-do-not-power-off-non-deploying-nodes-0a3aed7c8ea3940a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-erase-device-priority-config-509661955a11c28e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-firmware-update-manual-clean-step-e6763dc6dc0d441b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-inspection-b169ad0a22aea2ff.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-uefi-iscsi-boot-702ced18e28c5c61.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-hardware-type-48fd1c8bccd70659.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inconsistent-default-boot-mode-ef5a7c56372f89f1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inject-nmi-f487db8c3bfd08ea.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-license-activate-manual-clean-step-84d335998d708b49.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-managed-inspection-8b549c003224e011.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-remove-deprecated-power-retry-ba29a21f03fe8dbb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-soft-power-operations-eaef33a3ff56b047.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-support-boot-mode-management-apis-8173002daf79894c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-update-proliantutils-version-fd41a7c2a27be735.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-vendor-e8d299ae13388184.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-one-button-secure-erase-f55628f8aa767c20.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-raid-a0eac60f7d77a4fc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-sanitize-disk-erase-cc76ea66eb5fe6df.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-4082178dabd64249.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-size-28a9072901b98edf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-checksum-recalculation-sha256-fd3d5b4b0b757e86.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-download-http-976c82f440c61c96.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-no-data-c281f638d3dedfb2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_checksum_optional-381acf9e441d2a58.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_download_source-842282c70b226e93.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_rootfs_uuid-1ea54ba043d1aeaf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/implement-policy-in-code-cbb0216ef5f8224f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-conductor-shutdown-42687d8b9dac4054.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-redfish-set-boot-device-e38e9e9442ab5750.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improves-node-retrieval-performance-cf5a02eb629bf32c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/in-band-steps-e4a1fe759029fea5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initrd_filename-ac68e96f1c9fb576.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-agent-drivers-cad619ec8a4874b1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-boot-network-59fd23ca62b09e81.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-logging-e1172f549ef80b04.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-token-b3d9e8e34341d680.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-for-cisco-bffe1d1af7aec677.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-kernel-params-6db82c633d7361e2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-periodics-34449c9d77830b3c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-pxe-boot-9ab9fede5671097e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-session-179f83cbb0dc169b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-boot-mode-25732c767593f849.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-287c7fcff1081469.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-root-device-0a5190240fcc8fd8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/intel-ipmi-hardware-30aaa65cdbcb779a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid_cross_device_link-7ecf3543a8ada09f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-command-retries-and-timeout-29b0be3f2c21328c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-erase_devices-skip-read-only-9f8cd9278c35a84e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-streams-raw-images-1010327b0dad763c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cipher-suite-499097740f7c86ee.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cmd-for-ipmi-consoles-2e1104f22df3efcd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-console-port-ec6348df4eee6746.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-debug-1c7e090c6cc71903.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-noop-mgmt-8fad89dc2b4665b8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-retries-min-command-interval-070cd7eff5eb74dd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_command_retry_timeout-889a49b402e82b97.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_hex_kg_key-8f6caabe5b7d7a9b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipminative-bootdev-uefi-954a0dd825bcef97.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-bootdev-persistent-uefi-b1181a3c82343c8f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-use_ipmitool_retries-b55b2b8ed5cab603.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-vendor-3f0f52240ebbe489.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-and-uefi-7722bd5db71df02c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-boot-interface-addition-faacb344a72389f2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-dhcp-b799bc326cd2529a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-uefi-f5be11c7b0606a84.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-use-swift-5ccf490daab809cc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-with-dhcpv6-2bc7bd7f53a70f51.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_retry_on_failure-e71fc6b3e9a5be3b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_timeout_parameter-03fc3c76c520fac2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-certification-file-option-34e7a0062c768e58.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-clean-step-reset-bios-config-a8bed625670b7fdf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmp-auth-protocols-3ff7597cea7ef9dd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmpv3-security-fca05bfc30f50d1a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-additional-capabilities-4fd72ba50d05676c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-from-volume-4bc5d20a0a780669.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-interface-8c2e26affd1ebfc4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-dealing-with-ipxe-boot-interface-incompatibility-7d0b2bdb8f9deb46.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-create-raid-configuration-bccef8496520bf8c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-oob-inspection-6d072c60f6c88ecb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-support-ipmitool-power-a3480a70753948e5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11-prelude-6dae469633823f8d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11.1-prelude-b5ba8134953db4c2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-cfg-defaults-4708eed8adeee609.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-python-agent-multidevice-fix-3daa0760696b46b7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-status-upgrade-check-framework-9cd216ddf3afb271.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-ansible-steps-817b52269d2455b0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-deprecation-eb184141f88e7182.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-inband-cleaning-bff87aac16e5d488.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-verify-attempts-28b1d00b13ba365a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-whole-disk-cd464d589d029b01.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/issue-conntrack-bionic-7483671771cf2e82.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-0edc429696aca6f9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-bind-a0348cc6f5efe812.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-ipv6-host-30eca350f34bc091.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-timeout-ac30eea164b3a294.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json_rpc_http_basic-42dfc6ca2471a30e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonrpc-logging-21670015bb845182.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema_draft04-1cb5fc4a3852f9ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystone-auth-3155762c524e44df.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-adapter-opts-ca4f68f568e6cf6f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-config-1baa45a0a2dd93b4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/kill-old-ramdisk-6fa7a16269ff11b0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/list-nodes-by-driver-a1ab9f2b73f652f8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/logging-keystoneauth-9db7e56c54c2473d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-heartbeat-f9772521d12a0549.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-ignore-malformed-macs-09e7e909f3a134a3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-terminal-session-timeout-configurable-b2365b7699b0f98b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-versioned-notifications-topics-configurable-18d70d573c27809e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-clean-4cc2437be1aea69a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-configdrive-contents-77fc557d6bc63b2b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mdns-a5f4034257139e31.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/messaging-log-level-5f870ea69db53d26.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/metrics-notifier-information-17858c8e27c795d7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate-to-pysnmp-hlapi-477075b5e69cc5bc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_to_hardware_types-0c85c6707c4f296d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_vif_port_id-5e1496638240933d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/min-sushy-version-change-3b697530e0c05dee.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/minor-agent-version-cleanup-842e3919a366b9d6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/missing-sw-raid-b7fdc9259612970d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multitenant-networking-0a13c4aba252573e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-root-device-hints-a1484ea01e399065.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-suffix-47aea2d265fa75ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/needs-agent-version-in-heartbeat-4e6806b679c53ec5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/net-names-b8a36aa30659ce2f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-fallback-b208b2c3b40a0d01.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network-flat-use-node-uuid-for-binding-hostid-afb43097e7204b99.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network_data_schema-9342edf3c47b2a66.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-timeout-cbd82e1d09c6a46c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-update-598183909d44396c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/new_capabilities-5241619c4b46a460.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/newton-driver-deprecations-e40369be37203057.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/next-link-for-instance-uuid-f46eafe5b575f3de.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-drivers-e68d8527491314c3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-idrac-4fbf1ba66c35fb4a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ilo-7822af6821d2f1cc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ipmi-7ec52a7b01e40536.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-irmc-3a606045e87119b7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-oneview-e46ee2838d2b1d37.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-snmp-b77d267b535da216.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ucs-cimc-7c62bb189ffbe0dd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-coreos-f8717f9bb6a64627.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-downward-sql-migration-52279e875cd8b7a3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-308b50d4ab83ca7a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-bootif-505cc5bf48e7731f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-glance-v1-d249e8079f46f40c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-heartbeat-retries-d6837684e7257249.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-instance-uuid-workaround-fc458deb168c7a8b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-last-error-overwrite-b90aac3303eb992e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-more-legacy-auth-eeb32f907d0ab5de.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-power-on-842b21d55b07a632.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-root-device-as-kernel-param-5e5326acae7b77a4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-sensors-in-maintenance-7a0ecf418336d105.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-ssh-drivers-6ee5ff4c3ecdd3fb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-tokenless-agents-c6c16d79ccc0da7a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-credentials-cleaning-b1903f49ffeba029.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-deletion-update-resources-53862e48ab658f77.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-fault-8c59c0ecb94ba562.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-in-maintenance-fail-afd0eace24fa28be.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-lessee-4fb320a597192742.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-name-remove-720aa8007f2f8b75.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-network-data-6f998aaa57020f4b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-d7168976bba70566.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-ports-1d3193fd897feaa6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-provision-fix-ee2348b5922f7648.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-save-internal-info-c5cc8f56f1d0dab0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-storage-interface-api-1d6e217303bd53ff.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-stuck-when-conductor-down-3aa41a3abed9daf5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-traits-2d950b62eea24491.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-update-instance-info-extra-policies-862b2a70b941cf39.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/nodes-classic-drivers-cannot-set-interfaces-620b37c4e5c88b80.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/non-persistent-boot-5e3a0cd78e9dc91b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/noop-mgmt-a4b1a248492c7638.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notifications_driver_internal_info-3012f9834b6ade6b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-node-storage-interface-7fd07ee7ee71cd22.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-topic-451493784ce45e73.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notimplementederror-misspell-276a181afd652cf6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ocata-summary-a70f995cb3b18e18.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-agent-mixin-removal-b7277e8f20df5ef2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-hardware-type-69bbb79da434871f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-node-free-for-ironic-61b05fee827664cb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timeout-power-db5125e05831d925.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timing-metrics-0b6c1b54e80eb683.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/online_data_migration_update_versions-ea03aff12d9c036f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/only_default_flat_network_if_enabled-b5c6ea415239a53c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oob-power-off-7bbdf5947ed24bf8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/opentack-baremetal-request-id-daa72b785eaaaa8d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-driver-task-pattern-322e02b6a2233919.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/option-no-cache-http-ramdisk-62fc29cdd1d5b152.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optional-redfish-system-id-3f6e8b0ac989cb9b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/orphan-nodes-389cb6d90c2917ec.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-proxy-headers-middleware-22188a2976f8f460.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-reports-optional-59469955eaffdf1d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/osprofiler-61a330800abe4ee6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-erasure-1943da9b53a2095d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/partprobe-retries-e69e9d20f3a3c2d3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-metrics-config-to-agent-on-lookup-6db9ae187c4e8151.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-region-to-swiftclient-c8c8bf1020f62ebc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass_portgroup_settings_to_neutron-a6aec830a82c38a3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-tasks-drivers-ae9cddab88b546c6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/persist-redfish-sessions-d521a0846fa45c40.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pin-ansible-c10c572ec84bac36.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pin-api-version-029748f7d3be68d1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-0-is-valid-d7188af3be6f3ecb.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-bad-request-078512862c22118e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-by-project-8cfaf3b2cf0dd627.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-local-link-connection-network-type-71103d919e27fc5d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-physical-network-a7009dc514353796.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port_delete-6628b736a1b556f6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-crud-notifications-91204635528972b2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-mac-649ed31c3525e4f0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-fault-recovery-6e22f0114ceee203.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-off-token-0403e8a054f31125.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/poweroff-after-10-tries-c592506f02c167c0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-seventeen-638544be837c54fa.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-victoria-e65b4c63ce1e1a7a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-to-the-stein-f25b6073b6d1c598.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-callback-url-from-being-updated-41d50b20fb236e82.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-ports-with-vif-deletion-3edac3df5aa1becf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-pxe-retry-when-token-exists-a4f38f7da56c1397.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/proliantutils_version_update-b6e5ff0e496215a5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-650acb2c8a387e17.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-unset-0620b844afbb635e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/provide_mountpoint-58cfd25b6dd4cfde.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-boot-mode-9084ccf35e54bbc0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-enabled-ports-check-c1736215dce76e97.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-retry-762a00ba1089bd75.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-snmp-driver-supported-9c559c6182c6ec4b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/queens-prelude-61fb897e96ed64c5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/radosgw-temp-url-b04aac50698b4461.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-dell-boss-e9c5da9ddceedd67.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-hints-c27097ded0137f7c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-max-c0920cc44b9779ee.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-to-support-jbod-568f88207b9216e2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raise-bad-request-exception-on-validating-inspection-failure-57d7fd2999cf4ecf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-boot-fails-4e8286e6a4e0dfb6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-clean-2d3b033a401b911b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-configdrive-142149339dd00b47.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-params-6083bfaa7ffa9dfe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raw_image_growth_factor-cba37029650e67db.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reactive-ibmc-driver-d2149ca81a198090.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reboot-do-not-power-off-if-already-1452256167d40009.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rebuild-configdrive-f52479fd55b0f5ce.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-add-root-prefix-03b5f31ec6bbd146.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-autocreate-ports-53712a46dadd8203.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-bios-interface-a1acd8122c896a38.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-a44fc569f1baca8f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-config-usb-3e9a7543b2912ae7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-connection-cache-pool-accesserror-743e39a2f017b990.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-60873289278bf28f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-eject-iso-9875388ae09bc8f6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-firmware-update-a06d0624325a66ca.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-fix-bios-settings-apply-time-9b50979d2afc0d27.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-iso-pregenerated-97040711c4537726.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-managed-inspection-936341ffa8e1f22a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-power-87062756bce8b047.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-priorities-adf4b7bfbee0ca25.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-interface-e362e7a0e7140962.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-sadness-6e2a37b3f45ef1aa.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-secure-boot-8e3b2fcad137e31e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-virtual-media-permission-fix-1909b9cdbbbf9fd1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-opt-59cafdde83fb2be7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-vendor-fc76086893d99415.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_mgmt_clean_steps-c983a8858835046d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redundant-maintenance-09849674334f656a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/refactor-ironic-lib-22939896d8d46a77.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/register_hardware_interfaces_together-7b458a59f5e8f41f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-4.3.0-cc531ab7190f8a00.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-reservation-on-conductor-stop-6ebbcdf92da57ca6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/releasenote-b3b25c13ea1e2844.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reloadable-301ec2aa421abf66.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removal-pre-allocation-for-oneview-09310a215b3aaf3c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-DEPRECATED-options-from-[agent]-7b6cce21b5f52022.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-heartbeat-timeout-abf8787b8477bae7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent_last_heartbeat-65a9fe02f20465c5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ansible_deploy-driver-options-a28dc2f36110a67a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-app-wsgi-d5887ca28e4b9f00.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clean-nodes-38cfa633ca518f99.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clustered-compute-manager-6b45ed3803be53d1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-build-instance-info-for-deploy-2fe165fc018010e4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-deploy-erase-devices-iterations-55680ab95cbce3e9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-method-89926a8f0f4793a4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-drac_host-865be09c6e8fcb90.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-hash_distribution_replicas-08351358eba4c9e1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-ilo-clean-priority-erase-devices-bb3073da562ed41d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-option-names-6d5d53cc70dd2d49.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-discoverd-group-03eaf75e9f94d7be.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-periodic-task-f5e513b06b601ce4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-elilo-support-7fc1227f66e59084.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-enabled-drivers-5afcd77b53da1499.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-exception-message-92100debeb40d4c7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-extra-vif-port-id-ea4e59176c2065fd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-glance-num-retries-24898fc9230d9497.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-inspecting-state-support-10325bdcdd182079.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipmi-retry-timeout-c1b2cf7df6771a43.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipminative-driver-3367d25bbcc41fdc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-enabled-opt-61d106f01c46acab.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-tags-with-ipv6-cf4b7937c27590d6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-deploy-ipa-mitaka-c0efa0d5c31933b6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-verify-attempts-ede5b56b0545da08.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-locks-first-d12ac27106f800f8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-manage-tftp-0c2f4f417b92b1ee.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-messaging-aliases-0a6ba1ed392b1fed.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-metric-pxe-boot-option-1aec41aebecc1ce9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-most-unsupported-049f3401c2554a3c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-neutron-client-workarounds-996c59623684929b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-oneview-9315c7b926fd4aa2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-periodic-interval-45f57ebad9aaa14e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-policy-json-be92ffdba7bda951.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-pxe-http-5a05c54f57747bfe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-python-oneviewclient-b1d345ef861e156e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-radosgw-config-b664f3023dc8403c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ssh-power-port-delay-7ae6e5eb893439cd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-verbose-option-261f1b9e24212ee2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-vifs-on-teardown-707c8e40c46b6e64.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_vagrant-4472cedd0284557c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-glance-host-port-protocol-dc6e682097ba398f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-keystone-section-1ec46442fb332c29.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rename-iso-builder-func-46694ed6ded84f4a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/replace-neutronclient-with-openstacksdk-20c06d9d0316c2df.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/require-tls-3880e6bec3075f4d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-ilo-hardware-type-2392989d0fef8849.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-irmc-hardware-type-17e38197849748e0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-node-87e3b673c61ef628.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reserved-node-names-67a08012ed1131ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reset-interface-e62036ac76b87486.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-class-change-563797d5a3c35683.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-classes-1bf903547236a473.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restart-console-on-conductor-startup-5cff6128c325b18e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restrict-sync-mode-after-device-to-supermicro-218e8cb57735c685.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resume-cleaning-post-oob-reboot-b76c23f98219a8d2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/retry-vmedia-1999742c84f11103.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rolling-upgrades-ccad5159ca3cedbe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-api-version-info-9dd6cadd3d3d4bbe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-device-hints-rotational-c21f02130394e1d4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/scciclient-0.4.0-6f01c0f0a5c39062.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-boot-cf1c134bfb75768d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-policy-sanitization-performance-dc7886952144bb04.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/security_groups-b57a5d6c30c2fae4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/send-sensor-data-for-all-nodes-a732d9df43e74318.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/server_profile_template_uri-c79e4f15cc20a1cf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/set-boot-mode-4c42b3fd0b5f5b37.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/setting_provisioning_cleaning_network-fb60caa1cf59cdcf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shellinabox-locking-fix-2fae2a451a8a489a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shred-final-overwrite-with-zeros-50b5ba5b19c0da27.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sighup-service-reloads-configs-0e2462e3f064a2ff.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-nonraid-controllers-f4a79e2c9e8080ce.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-power-sync-for-adoptfail-d2498f1a2e997ed7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/smartnic-logic-has-merged-in-neutron-79078280d40f042c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-driver-udp-transport-settings-67419be988fcff40.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-hardware-type-ee3d471cf5c596f4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-noop-mgmt-53e93ac3b6dd8517.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-outlet-validate-ffbe8e6687172efc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-reboot-delay-d18ee3f6c6fc0998.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-address-conf-5cf043fabb10bd76.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-respawn-de9e8805c820a7ac.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-power-operations-oneview-e7ac054668235998.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-4a88e6c5af9ea742.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-with-uefi-5b88e6c5af9ea743.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sofware_raid_use_rootfs_uuid-f61eb671d696d251.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sort_key_allowed_field-091f8eeedd0a2ace.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/spawn-error-2249f94606388fbd.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ssh-console-58721af6830f8892.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sslerror-287edf7f8b3c5f1c.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/stop-console-during-unprovision-a29d8facb3f03be5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002600-return-503-if-no-conductors-online-ead1512628182ec4.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002637-4825d60b096e475b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004266-4725d327900850bf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004444-f540d9bbc3532ad0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006217-redfish-bios-cleaning-fails-fee32f04dd97cbd2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006218-uefi-iso-creation-fails-ba0180991fdd0783.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006223-ilo-hpsum-firmware-update-fails-622883e4785313c1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006288-ilo-power-on-fails-with-no-boot-device-b698fef59b04e515.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006316-raid-create-fails-c3661e185fb11c9f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006321-ilo5-raid-create-fails-1bb1e648da0db0f1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2008323-fix-stuck-deploying-state-43d51149a02c08b8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/streaming-partition-images-d58fe619658b066e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sum-based-update-firmware-manual-clean-step-e69ade488060cf27.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/supermicro-redfish-override-enabled-aa51686ed33d3061.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-irmc-driver-again-589db26927e32847.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-root-device-hints-with-operators-96cf34fa37b5b2e8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support_to_hash_rescue_password-0915927e41e6d845.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sync-boot-mode-after-changing-redfish-device-f60ef90ba5675215.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/taskmanager-lazy-load-32a14526c647c2f0.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/tempest_plugin_removal-009f9ce8456b16fe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-3f18cf73e4dd10d3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-b48b5981a58a30ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/train-release-59ff1643ec92c10a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/transmit-all-ports-b570009d1a008067.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/type-error-str-6826c53d7e5e1243.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-first-prepare-e7fa1e2a78b4af99.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-grub2-by-default-6b797a9e690d2dd5.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi_https_secure_boot_support-41f4976e02c11162.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/undeprecate-xclarity-4f4752017e8310e7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unrescue-token-ae664a17343e0610.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unsave-power-state-on-adopt-failed-09194c8269c779de.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-boot_mode-for-cleaning-scenario-for-ilo-hardware-type-ebca86da8fc271f6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-clear-job-id-constant-fix-c69cf96c55364bb3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-irmc-set-boot-device-fd50d9dce42aaa89.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-live-port-ee3fa9b77f5d0cf7.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-port-pxe-enabled-f954f934209cbf5b.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-20ebcc22dc2df527.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-54c0cd5c5d3c01dc.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-python-scciclient-required-version-71398d5d5e1c0bf8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade-delete_configuration-0f0bb43c57278734.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-current-node-driver_internal_info-5c11de8f2c2b2e87.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-dhcp-option-numbers-8b0b0efae912ff5f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-image-format-for-memory-check-25b1f06701ccdc47.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-ironic-lib-exception-4bff237c9667bf46.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use_secrets_to_generate_token-55af0f43e5a80b9e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/v1-discovery-4311398040581fe8.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-ilo-certificates-3ab98bb8cfad7d60.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-image-url-wnen-deploying-8820f4398ea9de9f.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-instance-traits-525dd3150aa6afa2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-node-properties-73509ee40f409ca2.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-port-info-before-using-it-e26135982d37c698.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-eject-vmedia-e4456320ee1c70c1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-shared-lock-6a9e32952ee6c2fe.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-7be66f8150e19819.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-revert-3961d47fe419460a.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-port-attach-17a9993bf5c21d69.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-boot-mode-f75c6fbef6349cbf.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-fast-track-903076c33c4aca04.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-inject-files-b6e226e2db4cff06.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-tls-117daa5ae0a9e30d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-connector-and-target-api-dd172f121ab3af8e.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-multipath-63b96f8331e771ae.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/webserver-timeout-d85781bf634cef39.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-root-gb-9132e5a354e6cb9d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-scsi-install-bootloader-f7e791d82da476ca.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-disk-before-deployment-0a8b9cede4a659e9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wsgi-applications-5d36cf2a8885a56d.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wwn-extension-root-device-hints-de40ca1444ba4888.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-driver-622800d17459e3f9.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-mask-password-9fe7605ece7689c3.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xenserver-ssh-driver-398084fe91ac56f1.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/zero-temp-url-c21e208f8933c6f6.yaml -> ironic-17.1.1.dev10/releasenotes/notes DEBUG util.py:445: copying releasenotes/source/conf.py -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/index.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/liberty.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/mitaka.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/newton.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ocata.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/pike.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/queens.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/rocky.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/stein.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/train.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/unreleased.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ussuri.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/victoria.rst -> ironic-17.1.1.dev10/releasenotes/source DEBUG util.py:445: copying releasenotes/source/_static/.placeholder -> ironic-17.1.1.dev10/releasenotes/source/_static DEBUG util.py:445: copying releasenotes/source/_templates/.placeholder -> ironic-17.1.1.dev10/releasenotes/source/_templates DEBUG util.py:445: copying releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po -> ironic-17.1.1.dev10/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: copying releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po -> ironic-17.1.1.dev10/releasenotes/source/locale/ja/LC_MESSAGES DEBUG util.py:445: copying tools/__init__.py -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/bandit.yml -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/check-releasenotes.py -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/flake8wrap.sh -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/link_aggregation_on_windows.ps1 -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/run_bashate.sh -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/states_to_dot.py -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/test-setup.sh -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/with_venv.sh -> ironic-17.1.1.dev10/tools DEBUG util.py:445: copying tools/config/ironic-config-generator.conf -> ironic-17.1.1.dev10/tools/config DEBUG util.py:445: copying tools/policy/ironic-policy-generator.conf -> ironic-17.1.1.dev10/tools/policy DEBUG util.py:445: copying zuul.d/ironic-jobs.yaml -> ironic-17.1.1.dev10/zuul.d DEBUG util.py:445: copying zuul.d/project.yaml -> ironic-17.1.1.dev10/zuul.d DEBUG util.py:445: Writing ironic-17.1.1.dev10/setup.cfg DEBUG util.py:445: creating dist DEBUG util.py:445: Creating tar archive DEBUG util.py:445: removing 'ironic-17.1.1.dev10' (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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-wallaby-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.34jlpruj', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', '1258378c1b3e4e8bb06b1c74b98d04dd', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '1022', '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-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-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.6xlw510h', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', 'b0810c15013a4faaa370cfadd68dc0db', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '6f9e3de4ee17470aa1a3e96c2d873686', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', 'db3985ab97d442129437feee01102e8d', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '605e6a12a3874afeb3375fdb2d1a38ae', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '1022', '-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-wallaby-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', '67ca0ace86fd4dd786ed3244fe230f54', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: libssh-config-0.9.6-6.el8.noarch DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: git-core-2.39.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-ply-3.9-9.el8.noarch DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: libxml2-2.9.7-16.el8.x86_64 DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: file-libs-5.33-25.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: elfutils-libelf-0.189-3.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-21.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-23.el8.noarch DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.189-3.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: elfutils-0.189-3.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: tpm2-tss-2.3.2-5.el8.x86_64 DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libblkid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-43.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: openssh-8.0p1-19.el8.x86_64 DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-19.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: glibc-2.28-236.el8.7.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: libkcapi-hmaccalc-1.2.0-2.el8.x86_64 DEBUG util.py:445: kpartx-0.8.4-39.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-9.el8.x86_64 DEBUG util.py:445: kmod-libs-25-19.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-7.el8.x86_64 DEBUG util.py:445: trousers-0.3.15-1.el8.x86_64 DEBUG util.py:445: python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-docutils-0.14-12.module_el8.5.0+761+faacb0fb.noarch DEBUG util.py:445: tzdata-2023c-1.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: harfbuzz-1.7.5-3.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: python3-cryptography-3.2.1-6.el8.x86_64 DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: gmp-6.1.2-10.el8.x86_64 DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: python3-jinja2-2.10.1-3.el8.noarch DEBUG util.py:445: readline-7.0-10.el8.x86_64 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: sqlite-libs-3.26.0-18.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: libacl-2.2.53-1.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: p11-kit-0.23.22-1.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: file-5.33-25.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-26.el8.x86_64 DEBUG util.py:445: audit-libs-3.0.7-5.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.3.2-2.module_el8.5.0+761+faacb0fb.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203410.ce6a105.el8.noarch DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: shadow-utils-4.6-19.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-6.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: platform-python-3.6.8-55.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-25.el8.x86_64 DEBUG util.py:445: acl-2.2.53-1.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.189-3.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.189-3.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: dracut-049-228.git20230802.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: curl-7.61.1-33.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-3.el8_2.1.x86_64 DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: libmount-2.32.1-43.el8.x86_64 DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-43.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-43.el8.x86_64 DEBUG util.py:445: systemd-239-78.el8.x86_64 DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: systemd-udev-239-78.el8.x86_64 DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: libXpm-3.5.12-9.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-21.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: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-236.el8.7.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-236.el8.7.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-6.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-516.el8.x86_64 DEBUG util.py:445: glibc-devel-2.28-236.el8.7.x86_64 DEBUG util.py:445: libkcapi-1.2.0-2.el8.x86_64 DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: openssl-1.1.1k-9.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-9.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-26.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-9.el8.x86_64 DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-25-19.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: pam-1.3.1-27.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: shared-mime-info-1.9-3.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: platform-python-devel-3.6.8-55.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-23.el8.noarch DEBUG util.py:445: libX11-1.6.8-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8.5.0+764+71fa3b33.noarch DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: setup-2.12.2-9.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-44.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.30.0-1.1.el8.noarch DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-23.el8.noarch DEBUG util.py:445: p11-kit-trust-0.23.22-1.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-55.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-33.el8.x86_64 DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: systemd-libs-239-78.el8.x86_64 DEBUG util.py:445: systemd-pam-239-78.el8.x86_64 DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-54.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: libtiff-4.0.9-29.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-236.el8.7.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-236.el8.7.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-8.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-1.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-161.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-wallaby-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.eg0fxd4z:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '8dee7e1e0acc43c587c3b2b94bd80155', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.eg0fxd4z:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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:443: Invalid configuration value: failovermethod=priority in /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf; Configuration: OptionBinding with id "failovermethod" does not exist DEBUG util.py:445: delorean-openstack-ironic-python-agent-0211fa9c 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-f6b44fc201c3e679d7036 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-collections-openstack-0e9a6f26 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-gnocchi-46afa670b2e57962dc4c7498c2c7b7 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tobiko-5d04e37ab05c214fbfa36 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-4aaeae386e1ae3ec28e43be 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-glance-tests-tempest-87df2f444b 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-6386142c0db5e361b9360 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-designate-c9945e11e75b1382a2 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-octavia-tests-tempest-b9af9163c 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-54dd95db47a9e1011a4 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-16dbcae9df9773f2b2bfea 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-sahara-tests-f67f18fbdef1e3f 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-puppet-tripleo-3845de2f038356e57263cfa 986 kB/s | 261 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-ui-0affe1a7d0437876b 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-validations-common-f273ccbb963e31056bd 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS-Stream - Base 27 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 12 kB/s | 2.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - PowerTools 34 kB/s | 4.4 kB 00:00 DEBUG util.py:445: dlrn-wallaby-testing 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-wallaby-build-deps 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Advanced Virtualization mirror 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Messaging RabbitMQ 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: opstools 21 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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/var/lib/rpm/__db.001 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/lib/rpm/__db.002 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/lib/rpm/__db.003 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', '44556d5665804049a8bcf4052442e94b', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: libssh-config-0.9.6-6.el8.noarch DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: git-core-2.39.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-ply-3.9-9.el8.noarch DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: libxml2-2.9.7-16.el8.x86_64 DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: file-libs-5.33-25.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: elfutils-libelf-0.189-3.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-21.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-23.el8.noarch DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.189-3.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: elfutils-0.189-3.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: tpm2-tss-2.3.2-5.el8.x86_64 DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libblkid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-43.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: openssh-8.0p1-19.el8.x86_64 DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-19.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: glibc-2.28-236.el8.7.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: libkcapi-hmaccalc-1.2.0-2.el8.x86_64 DEBUG util.py:445: kpartx-0.8.4-39.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-9.el8.x86_64 DEBUG util.py:445: kmod-libs-25-19.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-7.el8.x86_64 DEBUG util.py:445: trousers-0.3.15-1.el8.x86_64 DEBUG util.py:445: python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-docutils-0.14-12.module_el8.5.0+761+faacb0fb.noarch DEBUG util.py:445: tzdata-2023c-1.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: harfbuzz-1.7.5-3.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: python3-cryptography-3.2.1-6.el8.x86_64 DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: gmp-6.1.2-10.el8.x86_64 DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: python3-jinja2-2.10.1-3.el8.noarch DEBUG util.py:445: readline-7.0-10.el8.x86_64 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: sqlite-libs-3.26.0-18.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: libacl-2.2.53-1.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: p11-kit-0.23.22-1.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: file-5.33-25.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-26.el8.x86_64 DEBUG util.py:445: audit-libs-3.0.7-5.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.3.2-2.module_el8.5.0+761+faacb0fb.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203410.ce6a105.el8.noarch DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: shadow-utils-4.6-19.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-6.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: platform-python-3.6.8-55.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-25.el8.x86_64 DEBUG util.py:445: acl-2.2.53-1.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.189-3.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.189-3.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: dracut-049-228.git20230802.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: curl-7.61.1-33.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-3.el8_2.1.x86_64 DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: libmount-2.32.1-43.el8.x86_64 DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-43.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-43.el8.x86_64 DEBUG util.py:445: systemd-239-78.el8.x86_64 DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: systemd-udev-239-78.el8.x86_64 DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: libXpm-3.5.12-9.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-21.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: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-236.el8.7.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-236.el8.7.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-6.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-516.el8.x86_64 DEBUG util.py:445: glibc-devel-2.28-236.el8.7.x86_64 DEBUG util.py:445: libkcapi-1.2.0-2.el8.x86_64 DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: openssl-1.1.1k-9.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-9.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-26.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-9.el8.x86_64 DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-25-19.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: pam-1.3.1-27.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: shared-mime-info-1.9-3.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: platform-python-devel-3.6.8-55.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-23.el8.noarch DEBUG util.py:445: libX11-1.6.8-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8.5.0+764+71fa3b33.noarch DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: setup-2.12.2-9.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-44.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.30.0-1.1.el8.noarch DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-23.el8.noarch DEBUG util.py:445: p11-kit-trust-0.23.22-1.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-55.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-33.el8.x86_64 DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: systemd-libs-239-78.el8.x86_64 DEBUG util.py:445: systemd-pam-239-78.el8.x86_64 DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-54.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: libtiff-4.0.9-29.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-236.el8.7.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-236.el8.7.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-8.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-1.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-161.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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=1022gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.46kysji3:/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.46kysji3:/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', '78a7d6507cc5460d900716a8d46fcb3b', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.46kysji3:/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-17.1.1-0.20231012031905.c31db88.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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-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: ['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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-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.rtryedxn', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', 'e76098b894684586b34d936855b3488c', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', 'a08c76ad56ab4291b467545ea565cb2b', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '03a35615d9c542709a7281710624f2aa', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '47b583b313ad46e2a37e3970e8248272', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '1022', '-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-wallaby-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', '4cb215ffea5940f88c0fb3218a26c9a7', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: libssh-config-0.9.6-6.el8.noarch DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: git-core-2.39.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-ply-3.9-9.el8.noarch DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: libxml2-2.9.7-16.el8.x86_64 DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: file-libs-5.33-25.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: elfutils-libelf-0.189-3.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-21.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-23.el8.noarch DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.189-3.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: elfutils-0.189-3.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: tpm2-tss-2.3.2-5.el8.x86_64 DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libblkid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-43.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: openssh-8.0p1-19.el8.x86_64 DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-19.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: glibc-2.28-236.el8.7.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: libkcapi-hmaccalc-1.2.0-2.el8.x86_64 DEBUG util.py:445: kpartx-0.8.4-39.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-9.el8.x86_64 DEBUG util.py:445: kmod-libs-25-19.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-7.el8.x86_64 DEBUG util.py:445: trousers-0.3.15-1.el8.x86_64 DEBUG util.py:445: python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-docutils-0.14-12.module_el8.5.0+761+faacb0fb.noarch DEBUG util.py:445: tzdata-2023c-1.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: harfbuzz-1.7.5-3.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: python3-cryptography-3.2.1-6.el8.x86_64 DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: gmp-6.1.2-10.el8.x86_64 DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: python3-jinja2-2.10.1-3.el8.noarch DEBUG util.py:445: readline-7.0-10.el8.x86_64 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: sqlite-libs-3.26.0-18.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: libacl-2.2.53-1.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: p11-kit-0.23.22-1.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: file-5.33-25.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-26.el8.x86_64 DEBUG util.py:445: audit-libs-3.0.7-5.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.3.2-2.module_el8.5.0+761+faacb0fb.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203410.ce6a105.el8.noarch DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: shadow-utils-4.6-19.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-6.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: platform-python-3.6.8-55.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-25.el8.x86_64 DEBUG util.py:445: acl-2.2.53-1.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.189-3.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.189-3.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: dracut-049-228.git20230802.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: curl-7.61.1-33.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-3.el8_2.1.x86_64 DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: libmount-2.32.1-43.el8.x86_64 DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-43.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-43.el8.x86_64 DEBUG util.py:445: systemd-239-78.el8.x86_64 DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: systemd-udev-239-78.el8.x86_64 DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: libXpm-3.5.12-9.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-21.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: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-236.el8.7.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-236.el8.7.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-6.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-516.el8.x86_64 DEBUG util.py:445: glibc-devel-2.28-236.el8.7.x86_64 DEBUG util.py:445: libkcapi-1.2.0-2.el8.x86_64 DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: openssl-1.1.1k-9.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-9.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-26.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-9.el8.x86_64 DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-25-19.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: pam-1.3.1-27.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: shared-mime-info-1.9-3.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: platform-python-devel-3.6.8-55.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-23.el8.noarch DEBUG util.py:445: libX11-1.6.8-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8.5.0+764+71fa3b33.noarch DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: setup-2.12.2-9.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-44.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.30.0-1.1.el8.noarch DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-23.el8.noarch DEBUG util.py:445: p11-kit-trust-0.23.22-1.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-55.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-33.el8.x86_64 DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: systemd-libs-239-78.el8.x86_64 DEBUG util.py:445: systemd-pam-239-78.el8.x86_64 DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-54.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: libtiff-4.0.9-29.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-236.el8.7.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-236.el8.7.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-8.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-1.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-161.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-wallaby-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.p0rullun:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '06043240aa854dd4b048fed8a4d0deef', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.p0rullun:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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:443: Invalid configuration value: failovermethod=priority in /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf; Configuration: OptionBinding with id "failovermethod" does not exist DEBUG util.py:445: delorean-openstack-ironic-python-agent-0211fa9c 12 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-f6b44fc201c3e679d7036 28 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-collections-openstack-0e9a6f26 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-gnocchi-46afa670b2e57962dc4c7498c2c7b7 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tobiko-5d04e37ab05c214fbfa36 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-4aaeae386e1ae3ec28e43be 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-glance-tests-tempest-87df2f444b 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-6386142c0db5e361b9360 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-designate-c9945e11e75b1382a2 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-octavia-tests-tempest-b9af9163c 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-54dd95db47a9e1011a4 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-16dbcae9df9773f2b2bfea 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-sahara-tests-f67f18fbdef1e3f 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-puppet-tripleo-3845de2f038356e57263cfa 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-ui-0affe1a7d0437876b 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-validations-common-f273ccbb963e31056bd 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS-Stream - Base 51 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - AppStream 92 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS-Stream - Extras 10 kB/s | 2.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - PowerTools 15 kB/s | 4.4 kB 00:00 DEBUG util.py:445: dlrn-wallaby-testing 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-wallaby-build-deps 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Advanced Virtualization mirror 50 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Messaging RabbitMQ 44 kB/s | 3.0 kB 00:00 DEBUG util.py:445: opstools 56 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 41 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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/var/lib/rpm/__db.001 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/lib/rpm/__db.002 DEBUG buildroot.py:518: nuke_rpm_db: removing /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/lib/rpm/__db.003 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', 'e9bc4c03d4fa4105a24fa62343ee81c8', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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: fontpackages-filesystem-1.44-22.el8.noarch DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch DEBUG util.py:445: libssh-config-0.9.6-6.el8.noarch DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch DEBUG util.py:445: git-core-2.39.3-1.el8.x86_64 DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch DEBUG util.py:445: python3-ply-3.9-9.el8.noarch DEBUG util.py:445: info-6.5-7.el8_5.x86_64 DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch DEBUG util.py:445: libxml2-2.9.7-16.el8.x86_64 DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch DEBUG util.py:445: file-libs-5.33-25.el8.x86_64 DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 DEBUG util.py:445: elfutils-libelf-0.189-3.el8.x86_64 DEBUG util.py:445: dbus-libs-1.12.8-26.el8.x86_64 DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 DEBUG util.py:445: findutils-4.6.0-21.el8.x86_64 DEBUG util.py:445: grep-3.1-6.el8.x86_64 DEBUG util.py:445: platform-python-pip-9.0.3-23.el8.noarch DEBUG util.py:445: zip-3.0-23.el8.x86_64 DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.189-3.el8.x86_64 DEBUG util.py:445: dwz-0.12-10.el8.x86_64 DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: pigz-2.4-4.el8.x86_64 DEBUG util.py:445: elfutils-0.189-3.el8.x86_64 DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 DEBUG util.py:445: tpm2-tss-2.3.2-5.el8.x86_64 DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch DEBUG util.py:445: libblkid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 DEBUG util.py:445: libsmartcols-2.32.1-43.el8.x86_64 DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 DEBUG util.py:445: openssh-8.0p1-19.el8.x86_64 DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 DEBUG util.py:445: openssh-clients-8.0p1-19.el8.x86_64 DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 DEBUG util.py:445: glibc-2.28-236.el8.7.x86_64 DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: libkcapi-hmaccalc-1.2.0-2.el8.x86_64 DEBUG util.py:445: kpartx-0.8.4-39.el8.x86_64 DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 DEBUG util.py:445: openssl-libs-1.1.1k-9.el8.x86_64 DEBUG util.py:445: kmod-libs-25-19.el8.x86_64 DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: gnutls-3.6.16-7.el8.x86_64 DEBUG util.py:445: trousers-0.3.15-1.el8.x86_64 DEBUG util.py:445: python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-docutils-0.14-12.module_el8.5.0+761+faacb0fb.noarch DEBUG util.py:445: tzdata-2023c-1.el8.noarch DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch DEBUG util.py:445: harfbuzz-1.7.5-3.el8.x86_64 DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch DEBUG util.py:445: centos-gpg-keys-8-6.el8.noarch DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 DEBUG util.py:445: basesystem-11-5.el8.noarch DEBUG util.py:445: guile-2.0.14-7.el8.x86_64 DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 DEBUG util.py:445: python3-cryptography-3.2.1-6.el8.x86_64 DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch DEBUG util.py:445: gmp-6.1.2-10.el8.x86_64 DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 DEBUG util.py:445: python3-jinja2-2.10.1-3.el8.noarch DEBUG util.py:445: readline-7.0-10.el8.x86_64 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: sqlite-libs-3.26.0-18.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch DEBUG util.py:445: popt-1.18-1.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch DEBUG util.py:445: libacl-2.2.53-1.el8.x86_64 DEBUG util.py:445: libffi-3.1-24.el8.x86_64 DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 DEBUG util.py:445: p11-kit-0.23.22-1.el8.x86_64 DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 DEBUG util.py:445: python3-sphinx-2.2.2-1.el8.noarch DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 DEBUG util.py:445: python36-devel-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 DEBUG util.py:445: file-5.33-25.el8.x86_64 DEBUG util.py:445: rpm-build-4.14.3-26.el8.x86_64 DEBUG util.py:445: audit-libs-3.0.7-5.el8.x86_64 DEBUG util.py:445: python3-sqlalchemy-1.3.2-2.module_el8.5.0+761+faacb0fb.x86_64 DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203410.ce6a105.el8.noarch DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 DEBUG util.py:445: libcap-2.48-5.el8.x86_64 DEBUG util.py:445: grub2-common-2.02-129.el8.noarch DEBUG util.py:445: shadow-utils-4.6-19.el8.x86_64 DEBUG util.py:445: gdbm-libs-1.18-2.el8.x86_64 DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 DEBUG util.py:445: dbus-tools-1.12.8-26.el8.x86_64 DEBUG util.py:445: pcre-8.42-6.el8.x86_64 DEBUG util.py:445: libX11-common-1.6.8-6.el8.noarch DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: gdbm-1.18-2.el8.x86_64 DEBUG util.py:445: platform-python-3.6.8-55.el8.x86_64 DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 DEBUG util.py:445: krb5-libs-1.18.2-25.el8.x86_64 DEBUG util.py:445: acl-2.2.53-1.el8.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.189-3.el8.noarch DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 DEBUG util.py:445: elfutils-libs-0.189-3.el8.x86_64 DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 DEBUG util.py:445: dbus-daemon-1.12.8-26.el8.x86_64 DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 DEBUG util.py:445: libidn-1.34-5.el8.x86_64 DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 DEBUG util.py:445: dracut-049-228.git20230802.el8.x86_64 DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 DEBUG util.py:445: curl-7.61.1-33.el8.x86_64 DEBUG util.py:445: hardlink-1.3-6.el8.x86_64 DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 DEBUG util.py:445: libnghttp2-1.33.0-3.el8_2.1.x86_64 DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 DEBUG util.py:445: xorg-x11-font-utils-7.5-41.el8.x86_64 DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 DEBUG util.py:445: libuuid-2.32.1-43.el8.x86_64 DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 DEBUG util.py:445: libmount-2.32.1-43.el8.x86_64 DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 DEBUG util.py:445: libfdisk-2.32.1-43.el8.x86_64 DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 DEBUG util.py:445: util-linux-2.32.1-43.el8.x86_64 DEBUG util.py:445: systemd-239-78.el8.x86_64 DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 DEBUG util.py:445: systemd-udev-239-78.el8.x86_64 DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-80.0.el8.noarch DEBUG util.py:445: libXmu-1.1.3-1.el8.x86_64 DEBUG util.py:445: libXpm-3.5.12-9.el8.x86_64 DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 DEBUG util.py:445: avahi-libs-0.7-21.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: libXxf86vm-1.1.4-9.el8.x86_64 DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 DEBUG util.py:445: libijs-0.35-5.el8.x86_64 DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 DEBUG util.py:445: libgs-9.27-12.el8.x86_64 DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 DEBUG util.py:445: glibc-all-langpacks-2.28-236.el8.7.x86_64 DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.28-236.el8.7.x86_64 DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 DEBUG util.py:445: libssh-0.9.6-6.el8.x86_64 DEBUG util.py:445: kernel-headers-4.18.0-516.el8.x86_64 DEBUG util.py:445: glibc-devel-2.28-236.el8.7.x86_64 DEBUG util.py:445: libkcapi-1.2.0-2.el8.x86_64 DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 DEBUG util.py:445: openssl-1.1.1k-9.el8.x86_64 DEBUG util.py:445: gzip-1.9-13.el8.x86_64 DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 DEBUG util.py:445: device-mapper-1.02.181-9.el8.x86_64 DEBUG util.py:445: rpm-4.14.3-26.el8.x86_64 DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 DEBUG util.py:445: which-2.21-20.el8.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.181-9.el8.x86_64 DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: kmod-25-19.el8.x86_64 DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 DEBUG util.py:445: pam-1.3.1-27.el8.x86_64 DEBUG util.py:445: os-prober-1.74-9.el8.x86_64 DEBUG util.py:445: grub2-tools-2.02-129.el8.x86_64 DEBUG util.py:445: shared-mime-info-1.9-3.el8.x86_64 DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 DEBUG util.py:445: platform-python-devel-3.6.8-55.el8.x86_64 DEBUG util.py:445: python3-pip-9.0.3-23.el8.noarch DEBUG util.py:445: libX11-1.6.8-6.el8.x86_64 DEBUG util.py:445: annobin-11.13-2.el8.x86_64 DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch DEBUG util.py:445: python3-idna-2.5-5.el8.noarch DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8.5.0+764+71fa3b33.noarch DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch DEBUG util.py:445: emacs-filesystem-26.1-11.el8.noarch DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 DEBUG util.py:445: setup-2.12.2-9.el8.noarch DEBUG util.py:445: rpm-build-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch DEBUG util.py:445: libpng-1.6.34-5.el8.x86_64 DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 DEBUG util.py:445: sed-4.5-5.el8.x86_64 DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 DEBUG util.py:445: graphviz-2.40.1-44.el8.x86_64 DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 DEBUG util.py:445: python3-eventlet-0.30.0-1.1.el8.noarch DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 DEBUG util.py:445: make-4.2.1-11.el8.x86_64 DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 DEBUG util.py:445: unzip-6.0-46.el8.x86_64 DEBUG util.py:445: cpio-2.12-11.el8.x86_64 DEBUG util.py:445: python3-pip-wheel-9.0.3-23.el8.noarch DEBUG util.py:445: p11-kit-trust-0.23.22-1.el8.x86_64 DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 DEBUG util.py:445: python3-libs-3.6.8-55.el8.x86_64 DEBUG util.py:445: libcurl-7.61.1-33.el8.x86_64 DEBUG util.py:445: tar-1.30-9.el8.x86_64 DEBUG util.py:445: dbus-common-1.12.8-26.el8.noarch DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 DEBUG util.py:445: dbus-1.12.8-26.el8.x86_64 DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 DEBUG util.py:445: less-530-1.el8.x86_64 DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 DEBUG util.py:445: binutils-2.30-123.el8.x86_64 DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 DEBUG util.py:445: systemd-libs-239-78.el8.x86_64 DEBUG util.py:445: systemd-pam-239-78.el8.x86_64 DEBUG util.py:445: npth-1.5-4.el8.x86_64 DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 DEBUG util.py:445: cups-libs-2.2.6-54.el8.x86_64 DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 DEBUG util.py:445: libtiff-4.0.9-29.el8.x86_64 DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 DEBUG util.py:445: glibc-common-2.28-236.el8.7.x86_64 DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 DEBUG util.py:445: grub2-tools-minimal-2.02-129.el8.x86_64 DEBUG util.py:445: glibc-headers-2.28-236.el8.7.x86_64 DEBUG util.py:445: grubby-8.40-48.el8.x86_64 DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 DEBUG util.py:445: libtirpc-1.1.4-8.el8.x86_64 DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 DEBUG util.py:445: rpm-libs-4.14.3-26.el8.x86_64 DEBUG util.py:445: trousers-lib-0.3.15-1.el8.x86_64 DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 DEBUG util.py:445: glib2-2.56.4-161.el8.x86_64 DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-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.hem1r72r:/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', '9096cf66e7bf4cbe9fa71c4046d573b6', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.hem1r72r:/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-17.1.1-0.20231012031905.c31db88.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:17.1.1-0.2023101203######################################## 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.hem1r72r:/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', 'c4633aacdae447e5b835c932c1318d6d', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.hem1r72r:/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-17.1.1-0.20231012031905.c31db88.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-17.1.1.dev10-0.20231012031905.c31db88.tar.gz DEBUG util.py:445: ironic-dist.conf DEBUG util.py:445: ironic-rootwrap-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.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-wallaby-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=1022gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.hem1r72r:/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.hem1r72r:/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', '5a6e3e2e0c6846829d1b409dbcc1bb8f', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.hem1r72r:/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-17.1.1-0.20231012031905.c31db88.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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-17.1.1-0.20231012031905.c31db88.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.p0rullun:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'e7b696fa975f41379fa679e0dd2bf697', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.p0rullun:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.src.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos8-wallaby-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:443: Invalid configuration value: failovermethod=priority in /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf; Configuration: OptionBinding with id "failovermethod" does not exist DEBUG util.py:445: Last metadata expiration check: 0:00:15 ago on Thu Oct 12 03:22:22 2023. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20230216203410.ce6a105.el8.noarch is already installed. DEBUG util.py:445: Package python36-devel-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 is already installed. DEBUG util.py:445: Package python3-eventlet-0.30.0-1.1.el8.noarch is already installed. DEBUG util.py:445: Package python3-jinja2-2.10.1-3.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.3.2-2.module_el8.5.0+761+faacb0fb.x86_64 is already installed. DEBUG util.py:445: Package systemd-239-78.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-10.el8 Stream-BaseOS 187 k DEBUG util.py:445: libxml2-devel x86_64 2.9.7-16.el8 Stream-AppStream 1.0 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-9.el8 Stream-BaseOS 3.2 M DEBUG util.py:445: python3-alembic noarch 1.4.3-1.el8 delorean-wallaby-testing 816 k DEBUG util.py:445: python3-automaton noarch 2.3.1-0.20220228091836.4a3e539.el8 delorean-component-common 41 k DEBUG util.py:445: python3-cinderclient noarch 7.4.1-0.20210903082820.4f72e6f.el8 delorean-component-clients 241 k DEBUG util.py:445: python3-ddt noarch 1.2.1-4.el8 delorean-wallaby-testing 18 k DEBUG util.py:445: python3-dracclient noarch 6.0.2-0.20220113135856.f23f125.el8 delorean-component-baremetal 187 k DEBUG util.py:445: python3-futurist noarch 2.3.0-0.20210315104620.1a1c6f8.el8 delorean-component-common 63 k DEBUG util.py:445: python3-glanceclient noarch 1:3.3.0-0.20210315220313.f802c71.el8 delorean-component-clients 147 k DEBUG util.py:445: python3-ironic-lib noarch 4.6.4-0.20220808090402.27305f0.el8 delorean-component-baremetal 164 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-wallaby-testing 112 k DEBUG util.py:445: python3-keystoneauth1 noarch 4.3.1-0.20210315155409.112bcae.el8 delorean-component-security 431 k DEBUG util.py:445: python3-keystonemiddleware noarch 9.2.0-0.20210316052900.3659bda.el8 delorean-component-security 92 k DEBUG util.py:445: python3-mock noarch 3.0.5-7.el8 delorean-wallaby-testing 55 k DEBUG util.py:445: python3-neutronclient noarch 7.3.1-0.20221108112936.29a9f5e.el8 delorean-component-clients 310 k DEBUG util.py:445: python3-openstacksdk noarch 0.55.1-0.20220406125402.f09ed4a.el8 delorean-component-clients 854 k DEBUG util.py:445: python3-os-traits noarch 2.5.0-0.20210315123947.ac1b39e.el8 delorean-component-common 43 k DEBUG util.py:445: python3-oslo-concurrency noarch 4.4.0-0.20210315114231.7dcf9e9.el8 delorean-component-common 40 k DEBUG util.py:445: python3-oslo-config noarch 2:8.5.1-0.20210907102309.de1dbee.el8 delorean-component-common 227 k DEBUG util.py:445: python3-oslo-context noarch 3.2.1-0.20211026071333.b124eb7.el8 delorean-component-common 25 k DEBUG util.py:445: python3-oslo-db noarch 8.5.2-0.20221007170041.26fd6fb.el8 delorean-component-common 148 k DEBUG util.py:445: python3-oslo-db-tests noarch 8.5.2-0.20221007170041.26fd6fb.el8 delorean-component-common 145 k DEBUG util.py:445: python3-oslo-i18n noarch 5.0.1-0.20210315103856.73187bd.el8 delorean-component-common 57 k DEBUG util.py:445: python3-oslo-log noarch 4.4.0-0.20210315105132.9b29c90.el8 delorean-component-common 63 k DEBUG util.py:445: python3-oslo-messaging noarch 12.7.3-0.20220428091418.5d6fd1a.el8 delorean-component-common 226 k DEBUG util.py:445: python3-oslo-middleware noarch 4.2.1-0.20220225080425.b40ca5f.el8 delorean-component-common 53 k DEBUG util.py:445: python3-oslo-policy noarch 3.7.1-0.20220119091831.639b471.el8 delorean-component-common 75 k DEBUG util.py:445: python3-oslo-reports noarch 2.2.0-0.20210315105955.bc631ae.el8 delorean-component-common 58 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220228095841.1b1b960.el8 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 4.1.1-0.20220225082330.bbe5d5a.el8 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 2.5.1-0.20220201082833.c1e3398.el8 delorean-component-common 70 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 1.3.1-0.20220225074957.9561ecb.el8 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-utils noarch 4.8.2-0.20220428092247.a38b56a.el8 delorean-component-common 80 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 2.4.1-0.20220225075849.89ff171.el8 delorean-component-common 77 k DEBUG util.py:445: python3-oslotest noarch 4.4.1-0.20210315103354.aaf3a72.el8 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.0-0.20210315111211.5d82a02.el8 delorean-component-common 132 k DEBUG util.py:445: python3-pecan noarch 1.3.3-2.el8 delorean-wallaby-testing 283 k DEBUG util.py:445: python3-proliantutils noarch 2.9.4-0.20210315101454.5bc7569.el8 delorean-component-baremetal 270 k DEBUG util.py:445: python3-psutil x86_64 5.7.3-1.el8 delorean-wallaby-testing 420 k DEBUG util.py:445: python3-pysnmp noarch 4.4.12-1.el8 delorean-wallaby-testing 698 k DEBUG util.py:445: python3-scciclient noarch 0.10.2-0.20220802132904.b8e6e34.el8 delorean-component-baremetal 124 k DEBUG util.py:445: python3-stestr noarch 2.6.0-4.el8 delorean-wallaby-testing 166 k DEBUG util.py:445: python3-stevedore noarch 3.3.3-0.20221024072403.7b48fff.el8 delorean-component-clients 69 k DEBUG util.py:445: python3-sushy noarch 3.7.6-0.20221111103903.9b3cf44.el8 delorean-component-baremetal 174 k DEBUG util.py:445: python3-swiftclient noarch 3.11.1-0.20210316052106.06b36ae.el8 delorean-component-clients 175 k DEBUG util.py:445: python3-tenacity noarch 6.2.0-1.el8 delorean-wallaby-testing 50 k DEBUG util.py:445: python3-testresources noarch 2.0.1-1.el8 delorean-wallaby-testing 62 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-17.el8 delorean-wallaby-testing 40 k DEBUG util.py:445: python3-testtools noarch 2.5.0-3.el8 delorean-wallaby-testing 353 k DEBUG util.py:445: python3-tooz noarch 2.8.3-0.20220808091041.73dbe0e.el8 delorean-component-common 109 k DEBUG util.py:445: python3-webob noarch 1.8.6-3.el8 delorean-wallaby-testing 253 k DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: cmake-filesystem x86_64 3.20.2-5.el8 Stream-AppStream 45 k DEBUG util.py:445: gmp-c++ x86_64 1:6.1.2-10.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-25.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-25.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-wallaby-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.7.1-0.20220301090510.d0252f6.el8 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 4.4.0-0.20210315114231.7dcf9e9.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 8.5.2-0.20221007170041.26fd6fb.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.0.1-0.20210315103856.73187bd.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 4.4.0-0.20210315105132.9b29c90.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 4.2.1-0.20220225080425.b40ca5f.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 3.7.1-0.20220119091831.639b471.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-utils-lang noarch 4.8.2-0.20220428092247.a38b56a.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 2.4.1-0.20220225075849.89ff171.el8 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20210315104351.4179996.el8 delorean-component-common 14 k DEBUG util.py:445: python3-PyMySQL noarch 0.10.1-2.module_el8.5.0+761+faacb0fb Stream-AppStream 98 k DEBUG util.py:445: python3-amqp noarch 5.0.5-1.el8 delorean-wallaby-testing 97 k DEBUG util.py:445: python3-appdirs noarch 1.4.3-12.el8 delorean-wallaby-testing 23 k DEBUG util.py:445: python3-attrs noarch 17.4.0-6.el8 Stream-AppStream 53 k DEBUG util.py:445: python3-bcrypt x86_64 3.1.7-3.el8 delorean-wallaby-testing 44 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.9.3-1.el8 delorean-wallaby-testing 215 k DEBUG util.py:445: python3-cachetools noarch 4.2.0-1.el8 delorean-wallaby-testing 35 k DEBUG util.py:445: python3-cliff noarch 3.7.0-0.20210315123449.117a100.el8 delorean-component-common 95 k DEBUG util.py:445: python3-cmd2 noarch 1.4.0-1.1.el8 delorean-wallaby-testing 307 k DEBUG util.py:445: python3-colorama noarch 0.4.3-3.el8 delorean-wallaby-testing 36 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.2.0-0.20210315103218.649189d.el8 delorean-component-common 31 k DEBUG util.py:445: python3-decorator noarch 4.4.0-5.el8 delorean-wallaby-testing 32 k DEBUG util.py:445: python3-defusedxml noarch 0.7.1-1.el8 delorean-wallaby-testing 54 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.5-1.1.el8 delorean-wallaby-testing 91 k DEBUG util.py:445: python3-editor noarch 1.0.4-4.el8 delorean-wallaby-testing 19 k DEBUG util.py:445: python3-etcd3gw noarch 0.2.5-1.el8 delorean-wallaby-testing 41 k DEBUG util.py:445: python3-extras noarch 1.0.0-10.el8 delorean-wallaby-testing 21 k DEBUG util.py:445: python3-fasteners noarch 0.14.1-20.el8 delorean-wallaby-testing 44 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-16.el8 delorean-wallaby-testing 96 k DEBUG util.py:445: python3-future noarch 0.18.2-3.el8 delorean-wallaby-testing 789 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-2.el8 delorean-wallaby-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 1.7.0-1.el8 delorean-wallaby-testing 46 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-wallaby-testing 25 k DEBUG util.py:445: python3-jeepney noarch 0.4.3-1.el8 delorean-wallaby-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-wallaby-testing 164 k DEBUG util.py:445: python3-keyring noarch 21.0.0-1.el8 delorean-wallaby-testing 80 k DEBUG util.py:445: python3-keystoneclient noarch 1:4.3.0-0.20220713080823.d5cb761.el8 delorean-component-clients 252 k DEBUG util.py:445: python3-kombu noarch 1:5.0.2-1.el8 delorean-wallaby-testing 338 k DEBUG util.py:445: python3-logutils noarch 0.3.5-11.el8 delorean-wallaby-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-wallaby-testing 44 k DEBUG util.py:445: python3-migrate noarch 0.13.0-1.el8 delorean-wallaby-testing 238 k DEBUG util.py:445: python3-msgpack x86_64 1.0.2-1.el8 delorean-wallaby-testing 93 k DEBUG util.py:445: python3-munch noarch 2.5.0-3.el8 delorean-wallaby-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.20210315163025.bc96c23.el8 delorean-component-tripleo 53 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20210315154727.0b2f473.el8 delorean-component-clients 36 k DEBUG util.py:445: python3-osc-lib noarch 2.3.1-0.20210315174831.2b7a679.el8 delorean-component-clients 77 k DEBUG util.py:445: python3-oslo-cache noarch 2.7.1-0.20220301090510.d0252f6.el8 delorean-component-common 53 k DEBUG util.py:445: python3-paste noarch 3.5.0-1.el8 delorean-wallaby-testing 813 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-1.el8 delorean-wallaby-testing 40 k DEBUG util.py:445: python3-prettytable noarch 0.7.2-14.el8 Stream-AppStream 44 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-wallaby-testing 140 k DEBUG util.py:445: python3-pycadf noarch 3.1.1-0.20210315104351.4179996.el8 delorean-component-common 51 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-wallaby-testing 109 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-4.el8 delorean-wallaby-testing 54 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-2.el8 delorean-wallaby-testing 24 k DEBUG util.py:445: python3-pyrsistent x86_64 0.17.3-1.el8 delorean-wallaby-testing 107 k DEBUG util.py:445: python3-pyyaml x86_64 5.4.1-2.el8 delorean-wallaby-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-wallaby-testing 142 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-6.el8 delorean-wallaby-testing 33 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20210315095058.d7ac0ff.el8 delorean-component-common 15 k DEBUG util.py:445: python3-retrying noarch 1.3.3-1.el8 delorean-wallaby-testing 23 k DEBUG util.py:445: python3-rfc3986 noarch 1.4.0-3.el8 delorean-wallaby-testing 52 k DEBUG util.py:445: python3-routes noarch 2.4.1-12.el8 delorean-wallaby-testing 196 k DEBUG util.py:445: python3-secretstorage noarch 3.1.1-4.el8 delorean-wallaby-testing 36 k DEBUG util.py:445: python3-simplejson x86_64 3.17.2-2.el8 delorean-wallaby-testing 280 k DEBUG util.py:445: python3-smi noarch 0.3.4-6.el8 delorean-wallaby-testing 136 k DEBUG util.py:445: python3-soupsieve noarch 2.1.0-1.el8 delorean-wallaby-testing 66 k DEBUG util.py:445: python3-sqlparse noarch 0.3.1-3.el8 delorean-wallaby-testing 88 k DEBUG util.py:445: python3-statsd noarch 3.2.1-16.el8 delorean-wallaby-testing 35 k DEBUG util.py:445: python3-subunit noarch 1.4.0-1.el8 delorean-wallaby-testing 97 k DEBUG util.py:445: python3-tempita noarch 0.5.1-25.el8 delorean-wallaby-testing 39 k DEBUG util.py:445: python3-vine noarch 5.0.0-2.el8 delorean-wallaby-testing 26 k DEBUG util.py:445: python3-voluptuous noarch 0.12.1-1.el8 delorean-wallaby-testing 62 k DEBUG util.py:445: python3-waitress noarch 1.4.2-1.el8 delorean-wallaby-testing 255 k DEBUG util.py:445: python3-warlock noarch 1.3.3-1.el8 delorean-wallaby-testing 22 k DEBUG util.py:445: python3-wcwidth noarch 0.2.5-2.el8 delorean-wallaby-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-wallaby-testing 87 k DEBUG util.py:445: python3-wrapt x86_64 1.12.1-3.el8 delorean-wallaby-testing 55 k DEBUG util.py:445: python3-yappi x86_64 1.3.0-1.el8 delorean-wallaby-testing 54 k DEBUG util.py:445: python3-zake noarch 0.2.2-18.el8 delorean-wallaby-testing 46 k DEBUG util.py:445: python3-zeroconf noarch 0.24.4-1.el8 delorean-wallaby-testing 93 k DEBUG util.py:445: python3-zipp noarch 3.4.0-1.el8 delorean-wallaby-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-wallaby-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 172 Packages DEBUG util.py:445: Total size: 33 M DEBUG util.py:445: Total download size: 6.4 M DEBUG util.py:445: Installed size: 116 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-cinderclient-7.4.1-0.20210903082820.4f72e6f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-3.3.0-0.20210315220313.f802c71.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-4.3.0-0.20220713080823.d5cb761.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-neutronclient-7.3.1-0.20221108112936.29a9f5e.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-0.55.1-0.20220406125402.f09ed4a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20210315154727.0b2f473.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osc-lib-2.3.1-0.20210315174831.2b7a679.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.4.1-0.20210315103354.aaf3a72.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-3.3.3-0.20221024072403.7b48fff.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-3.11.1-0.20210316052106.06b36ae.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-4.4.0-0.20210315114231.7dcf9e9.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.0.1-0.20210315103856.73187bd.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-4.4.0-0.20210315105132.9b29c90.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-4.8.2-0.20220428092247.a38b56a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-3.7.0-0.20210315123449.117a100.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.2.0-0.20210315103218.649189d.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-4.4.0-0.20210315114231.7dcf9e9.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-8.5.1-0.20210907102309.de1dbee.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-3.2.1-0.20211026071333.b124eb7.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.0.1-0.20210315103856.73187bd.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-4.4.0-0.20210315105132.9b29c90.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1b960.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-4.1.1-0.20220225082330.bbe5d5a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-4.8.2-0.20220428092247.a38b56a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20210315095058.d7ac0ff.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-4.3.1-0.20210315155409.112bcae.el8.noarch.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-25.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] libkadm5-1.18.2-25.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-9.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-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] zlib-devel-1.2.11-25.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faacb0fb.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-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.4.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-amqp-5.0.5-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-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-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-editor-1.0.4-4.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-16.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-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-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-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.2-1.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-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-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-pyyaml-5.4.1-2.el8.x86_64.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-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.2-2.el8.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-soupsieve-2.1.0-1.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-2.6.0-4.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.2.0-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.12.1-3.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-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: (123/172): python3-dracclient-6.0.2-0.202201131 823 kB/s | 187 kB 00:00 DEBUG util.py:445: (124/172): python3-ironic-lib-4.6.4-0.202208080 645 kB/s | 164 kB 00:00 DEBUG util.py:445: (125/172): python3-proliantutils-2.9.4-0.202103 990 kB/s | 270 kB 00:00 DEBUG util.py:445: (126/172): python3-scciclient-0.10.2-0.20220802 1.8 MB/s | 124 kB 00:00 DEBUG util.py:445: (127/172): python-oslo-cache-lang-2.7.1-0.20220 279 kB/s | 16 kB 00:00 DEBUG util.py:445: (128/172): python-oslo-db-lang-8.5.2-0.20221007 308 kB/s | 13 kB 00:00 DEBUG util.py:445: (129/172): python3-sushy-3.7.6-0.20221111103903 1.4 MB/s | 174 kB 00:00 DEBUG util.py:445: (130/172): python-oslo-middleware-lang-4.2.1-0. 201 kB/s | 11 kB 00:00 DEBUG util.py:445: (131/172): python-oslo-policy-lang-3.7.1-0.2022 251 kB/s | 11 kB 00:00 DEBUG util.py:445: (132/172): python-oslo-versionedobjects-lang-2. 219 kB/s | 12 kB 00:00 DEBUG util.py:445: (133/172): python-pycadf-common-3.1.1-0.2021031 231 kB/s | 14 kB 00:00 DEBUG util.py:445: (134/172): python3-automaton-2.3.1-0.2022022809 923 kB/s | 41 kB 00:00 DEBUG util.py:445: (135/172): python3-futurist-2.3.0-0.20210315104 1.0 MB/s | 63 kB 00:00 DEBUG util.py:445: (136/172): python3-os-traits-2.5.0-0.2021031512 657 kB/s | 43 kB 00:00 DEBUG util.py:445: (137/172): python3-oslo-cache-2.7.1-0.202203010 868 kB/s | 53 kB 00:00 DEBUG util.py:445: (138/172): python3-oslo-db-8.5.2-0.202210071700 2.5 MB/s | 148 kB 00:00 DEBUG util.py:445: (139/172): python3-oslo-db-tests-8.5.2-0.202210 1.8 MB/s | 145 kB 00:00 DEBUG util.py:445: (140/172): python3-oslo-middleware-4.2.1-0.2022 923 kB/s | 53 kB 00:00 DEBUG util.py:445: (141/172): python3-oslo-policy-3.7.1-0.20220119 2.0 MB/s | 75 kB 00:00 DEBUG util.py:445: (142/172): python3-oslo-messaging-12.7.3-0.2022 1.9 MB/s | 226 kB 00:00 DEBUG util.py:445: (143/172): python3-oslo-reports-2.2.0-0.2021031 1.1 MB/s | 58 kB 00:00 DEBUG util.py:445: (144/172): python3-oslo-service-2.5.1-0.2022020 1.2 MB/s | 70 kB 00:00 DEBUG util.py:445: (145/172): python3-oslo-upgradecheck-1.3.1-0.20 602 kB/s | 26 kB 00:00 DEBUG util.py:445: (146/172): python3-oslo-versionedobjects-2.4.1- 1.7 MB/s | 77 kB 00:00 DEBUG util.py:445: (147/172): python3-osprofiler-3.4.0-0.202103151 2.7 MB/s | 132 kB 00:00 DEBUG util.py:445: (148/172): python3-pycadf-3.1.1-0.2021031510435 1.0 MB/s | 51 kB 00:00 DEBUG util.py:445: (149/172): python3-tooz-2.8.3-0.20220808091041. 2.2 MB/s | 109 kB 00:00 DEBUG util.py:445: (150/172): python3-keystonemiddleware-9.2.0-0.2 1.8 MB/s | 92 kB 00:00 DEBUG util.py:445: (151/172): python3-os-client-config-2.1.0-0.202 958 kB/s | 53 kB 00:00 DEBUG util.py:445: (152/172): gmp-c++-6.1.2-10.el8.x86_64.rpm 173 kB/s | 33 kB 00:00 DEBUG util.py:445: (153/172): gmp-devel-6.1.2-10.el8.x86_64.rpm 773 kB/s | 187 kB 00:00 DEBUG util.py:445: (154/172): libgcrypt-devel-1.8.5-7.el8.x86_64.r 650 kB/s | 150 kB 00:00 DEBUG util.py:445: (155/172): libgpg-error-devel-1.31-1.el8.x86_64 554 kB/s | 64 kB 00:00 DEBUG util.py:445: (156/172): xz-devel-5.2.4-4.el8.x86_64.rpm 1.0 MB/s | 63 kB 00:00 DEBUG util.py:445: (157/172): cmake-filesystem-3.20.2-5.el8.x86_64 730 kB/s | 45 kB 00:00 DEBUG util.py:445: (158/172): libpq-13.5-1.el8.x86_64.rpm 2.0 MB/s | 198 kB 00:00 DEBUG util.py:445: (159/172): libxslt-devel-1.1.32-6.el8.x86_64.rp 2.9 MB/s | 323 kB 00:00 DEBUG util.py:445: (160/172): python3-psycopg2-2.7.5-7.el8.x86_64. 2.0 MB/s | 172 kB 00:00 DEBUG util.py:445: (161/172): python3-pyghmi-1.5.29-1.el8.noarch.r 4.5 MB/s | 350 kB 00:00 DEBUG util.py:445: (162/172): libxml2-devel-2.9.7-16.el8.x86_64.rp 3.9 MB/s | 1.0 MB 00:00 DEBUG util.py:445: (163/172): python3-ddt-1.2.1-4.el8.noarch.rpm 168 kB/s | 18 kB 00:00 DEBUG util.py:445: (164/172): python3-etcd3gw-0.2.5-1.el8.noarch.r 302 kB/s | 41 kB 00:00 DEBUG util.py:445: (165/172): python3-memcached-1.59-1.el8.noarch. 253 kB/s | 44 kB 00:00 DEBUG util.py:445: (166/172): python3-kazoo-2.8.0-1.el8.noarch.rpm 566 kB/s | 164 kB 00:00 DEBUG util.py:445: (167/172): python3-redis-3.5.3-1.el8.noarch.rpm 1.3 MB/s | 142 kB 00:00 DEBUG util.py:445: (168/172): python3-retrying-1.3.3-1.el8.noarch. 324 kB/s | 23 kB 00:00 DEBUG util.py:445: (169/172): python3-smi-0.3.4-6.el8.noarch.rpm 2.2 MB/s | 136 kB 00:00 DEBUG util.py:445: (170/172): python3-testresources-2.0.1-1.el8.no 927 kB/s | 62 kB 00:00 DEBUG util.py:445: (171/172): python3-zake-0.2.2-18.el8.noarch.rpm 689 kB/s | 46 kB 00:00 DEBUG util.py:445: (172/172): python3-pysnmp-4.4.12-1.el8.noarch.r 1.7 MB/s | 698 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 3.3 MB/s | 6.4 MB 00:01 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/172 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-14.el8.noarch 2/172 DEBUG util.py:445: Installing : python3-iso8601-0.1.12-3.el8.noarch 3/172 DEBUG util.py:445: Installing : python3-netaddr-0.7.19-8.el8.noarch 4/172 DEBUG util.py:445: Installing : python3-dateutil-1:2.6.1-6.el8.noarch 5/172 DEBUG util.py:445: Installing : python3-simplejson-3.17.2-2.el8.x86_64 6/172 DEBUG util.py:445: Installing : python3-decorator-4.4.0-5.el8.noarch 7/172 DEBUG util.py:445: Installing : python3-pyOpenSSL-19.0.0-1.el8.noarch 8/172 DEBUG util.py:445: Installing : python3-mako-1.0.6-14.el8.noarch 9/172 DEBUG util.py:445: Installing : python3-futurist-2.3.0-0.20210315104620.1a1c6f8. 10/172 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20210315154727. 11/172 DEBUG util.py:445: Installing : python3-wrapt-1.12.1-3.el8.x86_64 12/172 DEBUG util.py:445: Installing : python3-debtcollector-2.2.0-0.20210315103218.649 13/172 DEBUG util.py:445: Installing : python3-oslo-context-3.2.1-0.20211026071333.b124 14/172 DEBUG util.py:445: Installing : python3-voluptuous-0.12.1-1.el8.noarch 15/172 DEBUG util.py:445: Installing : python3-vine-5.0.0-2.el8.noarch 16/172 DEBUG util.py:445: Installing : python3-amqp-5.0.5-1.el8.noarch 17/172 DEBUG util.py:445: Installing : python3-tenacity-6.2.0-1.el8.noarch 18/172 DEBUG util.py:445: Installing : python3-tempita-0.5.1-25.el8.noarch 19/172 DEBUG util.py:445: Installing : python3-paste-3.5.0-1.el8.noarch 20/172 DEBUG util.py:445: Installing : python3-msgpack-1.0.2-1.el8.x86_64 21/172 DEBUG util.py:445: Installing : python3-fasteners-0.14.1-20.el8.noarch 22/172 DEBUG util.py:445: Installing : python3-extras-1.0.0-10.el8.noarch 23/172 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-16.el8.noarch 24/172 DEBUG util.py:445: Installing : python3-testtools-2.5.0-3.el8.noarch 25/172 DEBUG util.py:445: Installing : python3-subunit-1.4.0-1.el8.noarch 26/172 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-4.el8.x86_64 27/172 DEBUG util.py:445: Installing : python3-attrs-17.4.0-6.el8.noarch 28/172 DEBUG util.py:445: Installing : zlib-devel-1.2.11-25.el8.x86_64 29/172 DEBUG util.py:445: Installing : libxslt-1.1.32-6.el8.x86_64 30/172 DEBUG util.py:445: Installing : libgpg-error-devel-1.31-1.el8.x86_64 31/172 DEBUG util.py:445: Running scriptlet: libgpg-error-devel-1.31-1.el8.x86_64 31/172 DEBUG util.py:445: Installing : libgcrypt-devel-1.8.5-7.el8.x86_64 32/172 DEBUG util.py:445: Running scriptlet: libgcrypt-devel-1.8.5-7.el8.x86_64 32/172 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-17.el8.noarch 33/172 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-1.el8.noarch 34/172 DEBUG util.py:445: Installing : python3-etcd3gw-0.2.5-1.el8.noarch 35/172 DEBUG util.py:445: Installing : python3-pyghmi-1.5.29-1.el8.noarch 36/172 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-3.el8s.x86_64 37/172 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-3.el8s.x86_64 38/172 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-4.el8.noarch 39/172 DEBUG util.py:445: Installing : python3-zipp-3.4.0-1.el8.noarch 40/172 DEBUG util.py:445: Installing : python3-importlib-metadata-1.7.0-1.el8.noarch 41/172 DEBUG util.py:445: Installing : python3-stevedore-3.3.3-0.20221024072403.7b48fff 42/172 DEBUG util.py:445: Installing : python3-keystoneauth1-4.3.1-0.20210315155409.112 43/172 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.5-1.1.el8.noarch 44/172 DEBUG util.py:445: Installing : python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8 45/172 DEBUG util.py:445: Installing : python3-kombu-1:5.0.2-1.el8.noarch 46/172 DEBUG util.py:445: Installing : python3-yappi-1.3.0-1.el8.x86_64 47/172 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-2.el8.noarch 48/172 DEBUG util.py:445: Installing : python3-waitress-1.4.2-1.el8.noarch 49/172 DEBUG util.py:445: Installing : python3-testresources-2.0.1-1.el8.noarch 50/172 DEBUG util.py:445: Installing : python3-statsd-3.2.1-16.el8.noarch 51/172 DEBUG util.py:445: Installing : python3-sqlparse-0.3.1-3.el8.noarch 52/172 DEBUG util.py:445: Installing : python3-migrate-0.13.0-1.el8.noarch 53/172 DEBUG util.py:445: Installing : python3-soupsieve-2.1.0-1.el8.noarch 54/172 DEBUG util.py:445: Installing : python3-smi-0.3.4-6.el8.noarch 55/172 DEBUG util.py:445: Installing : python3-rfc3986-1.4.0-3.el8.noarch 56/172 DEBUG util.py:445: Installing : python3-retrying-1.3.3-1.el8.noarch 57/172 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-6.el8.noarch 58/172 DEBUG util.py:445: Installing : python3-routes-2.4.1-12.el8.noarch 59/172 DEBUG util.py:445: Installing : python3-redis-3.5.3-1.el8.noarch 60/172 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-1.el8.x86_64 61/172 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-5.el8.noarch 62/172 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-2.el8.noarch 63/172 DEBUG util.py:445: Installing : python3-pyasn1-0.4.6-3.el8.noarch 64/172 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-1.el8.noarch 65/172 DEBUG util.py:445: Installing : python3-psutil-5.7.3-1.el8.x86_64 66/172 DEBUG util.py:445: Installing : python3-munch-2.5.0-3.el8.noarch 67/172 DEBUG util.py:445: Installing : python3-mock-3.0.5-7.el8.noarch 68/172 DEBUG util.py:445: Installing : python3-oslotest-4.4.1-0.20210315103354.aaf3a72. 69/172 DEBUG util.py:445: Installing : python3-memcached-1.59-1.el8.noarch 70/172 DEBUG util.py:445: Installing : python3-logutils-0.3.5-11.el8.noarch 71/172 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-1.el8.noarch 72/172 DEBUG util.py:445: Installing : python3-zake-0.2.2-18.el8.noarch 73/172 DEBUG util.py:445: Installing : python3-jeepney-0.4.3-1.el8.noarch 74/172 DEBUG util.py:445: Installing : python3-secretstorage-3.1.1-4.el8.noarch 75/172 DEBUG util.py:445: Installing : python3-keyring-21.0.0-1.el8.noarch 76/172 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-2.el8.noarch 77/172 DEBUG util.py:445: Installing : python3-zeroconf-0.24.4-1.el8.noarch 78/172 DEBUG util.py:445: Installing : python3-future-0.18.2-3.el8.noarch 79/172 DEBUG util.py:445: Installing : python3-editor-1.0.4-4.el8.noarch 80/172 DEBUG util.py:445: Installing : python3-alembic-1.4.3-1.el8.noarch 81/172 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el8.noarch 82/172 DEBUG util.py:445: Installing : python3-cssselect-0.9.2-13.el8.noarch 83/172 DEBUG util.py:445: Installing : python3-colorama-0.4.3-3.el8.noarch 84/172 DEBUG util.py:445: Installing : python3-cmd2-1.4.0-1.1.el8.noarch 85/172 DEBUG util.py:445: Installing : python3-cachetools-4.2.0-1.el8.noarch 86/172 DEBUG util.py:445: Installing : python3-bcrypt-3.1.7-3.el8.x86_64 87/172 DEBUG util.py:445: Installing : python3-appdirs-1.4.3-12.el8.noarch 88/172 DEBUG util.py:445: Installing : libsodium-1.0.18-2.el8.x86_64 89/172 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-1.el8.x86_64 90/172 DEBUG util.py:445: Installing : python3-webencodings-0.5.1-6.el8.noarch 91/172 DEBUG util.py:445: Installing : python3-html5lib-1:0.999999999-6.el8.noarch 92/172 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.9.3-1.el8.noarch 93/172 DEBUG util.py:445: Installing : python3-lxml-4.2.3-4.el8.x86_64 94/172 DEBUG util.py:445: Installing : python3-webtest-2.0.35-3.el8.noarch 95/172 DEBUG util.py:445: Installing : python3-jsonpointer-1.10-11.el8.noarch 96/172 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-2.el8.noarch 97/172 DEBUG util.py:445: Installing : python3-warlock-1.3.3-1.el8.noarch 98/172 DEBUG util.py:445: Installing : python3-jmespath-0.9.0-11.el8.noarch 99/172 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faac 100/172 DEBUG util.py:445: Installing : libpq-13.5-1.el8.x86_64 101/172 DEBUG util.py:445: Installing : python3-psycopg2-2.7.5-7.el8.x86_64 102/172 DEBUG util.py:445: Installing : cmake-filesystem-3.20.2-5.el8.x86_64 103/172 DEBUG util.py:445: Installing : xz-devel-5.2.4-4.el8.x86_64 104/172 DEBUG util.py:445: Installing : libxml2-devel-2.9.7-16.el8.x86_64 105/172 DEBUG util.py:445: Installing : python3-inotify-0.9.6-13.el8.noarch 106/172 DEBUG util.py:445: Installing : pcre2-utf32-10.32-3.el8.x86_64 107/172 DEBUG util.py:445: Installing : pcre2-utf16-10.32-3.el8.x86_64 108/172 DEBUG util.py:445: Installing : pcre2-devel-10.32-3.el8.x86_64 109/172 DEBUG util.py:445: Installing : libyaml-0.1.7-5.el8.x86_64 110/172 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-2.el8.x86_64 111/172 DEBUG util.py:445: Installing : python3-cliff-3.7.0-0.20210315123449.117a100.el8 112/172 DEBUG util.py:445: Installing : libverto-devel-0.3.2-2.el8.x86_64 113/172 DEBUG util.py:445: Installing : libsepol-devel-2.9-3.el8.x86_64 114/172 DEBUG util.py:445: Installing : libselinux-devel-2.9-8.el8.x86_64 115/172 DEBUG util.py:445: Installing : libkadm5-1.18.2-25.el8.x86_64 116/172 DEBUG util.py:445: Installing : libcom_err-devel-1.45.6-5.el8.x86_64 117/172 DEBUG util.py:445: Installing : keyutils-libs-devel-1.5.10-9.el8.x86_64 118/172 DEBUG util.py:445: Installing : krb5-devel-1.18.2-25.el8.x86_64 119/172 DEBUG util.py:445: Installing : gmp-c++-1:6.1.2-10.el8.x86_64 120/172 DEBUG util.py:445: Running scriptlet: gmp-c++-1:6.1.2-10.el8.x86_64 120/172 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2021031509505 121/172 DEBUG util.py:445: Installing : python3-openstacksdk-0.55.1-0.20220406125402.f09 122/172 DEBUG util.py:445: Installing : python3-os-client-config-2.1.0-0.20210315163025. 123/172 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20210315104351.4179 124/172 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-2.4.1-0.202202 125/172 DEBUG util.py:445: Installing : python-oslo-utils-lang-4.8.2-0.20220428092247.a3 126/172 DEBUG util.py:445: Installing : python-oslo-policy-lang-3.7.1-0.20220119091831.6 127/172 DEBUG util.py:445: Installing : python-oslo-middleware-lang-4.2.1-0.202202250804 128/172 DEBUG util.py:445: Installing : python-oslo-log-lang-4.4.0-0.20210315105132.9b29 129/172 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.0.1-0.20210315103856.731 130/172 DEBUG util.py:445: Installing : python3-oslo-i18n-5.0.1-0.20210315103856.73187bd 131/172 DEBUG util.py:445: Installing : python3-oslo-utils-4.8.2-0.20220428092247.a38b56 132/172 DEBUG util.py:445: Installing : python3-oslo-config-2:8.5.1-0.20210907102309.de1 133/172 DEBUG util.py:445: Installing : python3-oslo-serialization-4.1.1-0.2022022508233 134/172 DEBUG util.py:445: Installing : python3-oslo-log-4.4.0-0.20210315105132.9b29c90. 135/172 DEBUG util.py:445: Installing : python3-keystoneclient-1:4.3.0-0.20220713080823. 136/172 DEBUG util.py:445: Installing : python3-oslo-policy-3.7.1-0.20220119091831.639b4 137/172 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20210315104351.4179996.el 138/172 DEBUG util.py:445: Installing : python3-oslo-middleware-4.2.1-0.20220225080425.b 139/172 DEBUG util.py:445: Installing : python3-osc-lib-2.3.1-0.20210315174831.2b7a679.e 140/172 DEBUG util.py:445: Installing : python-oslo-db-lang-8.5.2-0.20221007170041.26fd6 141/172 DEBUG util.py:445: Installing : python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.e 142/172 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-4.4.0-0.20210315114 143/172 DEBUG util.py:445: Installing : python3-oslo-concurrency-4.4.0-0.20210315114231. 144/172 DEBUG util.py:445: Installing : python3-oslo-service-2.5.1-0.20220201082833.c1e3 145/172 DEBUG util.py:445: Installing : python3-oslo-messaging-12.7.3-0.20220428091418.5 146/172 DEBUG util.py:445: Installing : python-oslo-cache-lang-2.7.1-0.20220301090510.d0 147/172 DEBUG util.py:445: Installing : python3-oslo-cache-2.7.1-0.20220301090510.d0252f 148/172 DEBUG util.py:445: Installing : python3-keystonemiddleware-9.2.0-0.2021031605290 149/172 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-2.4.1-0.2022022507 150/172 DEBUG util.py:445: Installing : python3-osprofiler-3.4.0-0.20210315111211.5d82a0 151/172 DEBUG util.py:445: Installing : python3-ironic-lib-4.6.4-0.20220808090402.27305f 152/172 DEBUG util.py:445: Installing : python3-proliantutils-2.9.4-0.20210315101454.5bc 153/172 DEBUG util.py:445: Installing : python3-oslo-db-tests-8.5.2-0.20221007170041.26f 154/172 DEBUG util.py:445: Installing : python3-neutronclient-7.3.1-0.20221108112936.29a 155/172 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-1.3.1-0.20220225074957 156/172 DEBUG util.py:445: Installing : python3-swiftclient-3.11.1-0.20210316052106.06b3 157/172 DEBUG util.py:445: Installing : python3-scciclient-0.10.2-0.20220802132904.b8e6e 158/172 DEBUG util.py:445: Installing : python3-oslo-reports-2.2.0-0.20210315105955.bc63 159/172 DEBUG util.py:445: Installing : python3-tooz-2.8.3-0.20220808091041.73dbe0e.el8. 160/172 DEBUG util.py:445: Installing : python3-cinderclient-7.4.1-0.20210903082820.4f72 161/172 DEBUG util.py:445: Installing : python3-glanceclient-1:3.3.0-0.20210315220313.f8 162/172 DEBUG util.py:445: Installing : gmp-devel-1:6.1.2-10.el8.x86_64 163/172 DEBUG util.py:445: Running scriptlet: gmp-devel-1:6.1.2-10.el8.x86_64 163/172 DEBUG util.py:445: Installing : openssl-devel-1:1.1.1k-9.el8.x86_64 164/172 DEBUG util.py:445: Installing : python3-stestr-2.6.0-4.el8.noarch 165/172 DEBUG util.py:445: Installing : python3-ddt-1.2.1-4.el8.noarch 166/172 DEBUG util.py:445: Installing : libxslt-devel-1.1.32-6.el8.x86_64 167/172 DEBUG util.py:445: Installing : python3-pecan-1.3.3-2.el8.noarch 168/172 DEBUG util.py:445: Installing : python3-dracclient-6.0.2-0.20220113135856.f23f12 169/172 DEBUG util.py:445: Installing : python3-automaton-2.3.1-0.20220228091836.4a3e539 170/172 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1 171/172 DEBUG util.py:445: Installing : python3-os-traits-2.5.0-0.20210315123947.ac1b39e 172/172 DEBUG util.py:445: Running scriptlet: python3-os-traits-2.5.0-0.20210315123947.ac1b39e 172/172 DEBUG util.py:445: Verifying : python3-dracclient-6.0.2-0.20220113135856.f23f12 1/172 DEBUG util.py:445: Verifying : python3-ironic-lib-4.6.4-0.20220808090402.27305f 2/172 DEBUG util.py:445: Verifying : python3-proliantutils-2.9.4-0.20210315101454.5bc 3/172 DEBUG util.py:445: Verifying : python3-scciclient-0.10.2-0.20220802132904.b8e6e 4/172 DEBUG util.py:445: Verifying : python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8 5/172 DEBUG util.py:445: Verifying : python3-cinderclient-7.4.1-0.20210903082820.4f72 6/172 DEBUG util.py:445: Verifying : python3-glanceclient-1:3.3.0-0.20210315220313.f8 7/172 DEBUG util.py:445: Verifying : python3-keystoneclient-1:4.3.0-0.20220713080823. 8/172 DEBUG util.py:445: Verifying : python3-neutronclient-7.3.1-0.20221108112936.29a 9/172 DEBUG util.py:445: Verifying : python3-openstacksdk-0.55.1-0.20220406125402.f09 10/172 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20210315154727. 11/172 DEBUG util.py:445: Verifying : python3-osc-lib-2.3.1-0.20210315174831.2b7a679.e 12/172 DEBUG util.py:445: Verifying : python3-oslotest-4.4.1-0.20210315103354.aaf3a72. 13/172 DEBUG util.py:445: Verifying : python3-stevedore-3.3.3-0.20221024072403.7b48fff 14/172 DEBUG util.py:445: Verifying : python3-swiftclient-3.11.1-0.20210316052106.06b3 15/172 DEBUG util.py:445: Verifying : python-oslo-cache-lang-2.7.1-0.20220301090510.d0 16/172 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-4.4.0-0.20210315114 17/172 DEBUG util.py:445: Verifying : python-oslo-db-lang-8.5.2-0.20221007170041.26fd6 18/172 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.0.1-0.20210315103856.731 19/172 DEBUG util.py:445: Verifying : python-oslo-log-lang-4.4.0-0.20210315105132.9b29 20/172 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-4.2.1-0.202202250804 21/172 DEBUG util.py:445: Verifying : python-oslo-policy-lang-3.7.1-0.20220119091831.6 22/172 DEBUG util.py:445: Verifying : python-oslo-utils-lang-4.8.2-0.20220428092247.a3 23/172 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-2.4.1-0.202202 24/172 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20210315104351.4179 25/172 DEBUG util.py:445: Verifying : python3-automaton-2.3.1-0.20220228091836.4a3e539 26/172 DEBUG util.py:445: Verifying : python3-cliff-3.7.0-0.20210315123449.117a100.el8 27/172 DEBUG util.py:445: Verifying : python3-debtcollector-2.2.0-0.20210315103218.649 28/172 DEBUG util.py:445: Verifying : python3-futurist-2.3.0-0.20210315104620.1a1c6f8. 29/172 DEBUG util.py:445: Verifying : python3-os-traits-2.5.0-0.20210315123947.ac1b39e 30/172 DEBUG util.py:445: Verifying : python3-oslo-cache-2.7.1-0.20220301090510.d0252f 31/172 DEBUG util.py:445: Verifying : python3-oslo-concurrency-4.4.0-0.20210315114231. 32/172 DEBUG util.py:445: Verifying : python3-oslo-config-2:8.5.1-0.20210907102309.de1 33/172 DEBUG util.py:445: Verifying : python3-oslo-context-3.2.1-0.20211026071333.b124 34/172 DEBUG util.py:445: Verifying : python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.e 35/172 DEBUG util.py:445: Verifying : python3-oslo-db-tests-8.5.2-0.20221007170041.26f 36/172 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.0.1-0.20210315103856.73187bd 37/172 DEBUG util.py:445: Verifying : python3-oslo-log-4.4.0-0.20210315105132.9b29c90. 38/172 DEBUG util.py:445: Verifying : python3-oslo-messaging-12.7.3-0.20220428091418.5 39/172 DEBUG util.py:445: Verifying : python3-oslo-middleware-4.2.1-0.20220225080425.b 40/172 DEBUG util.py:445: Verifying : python3-oslo-policy-3.7.1-0.20220119091831.639b4 41/172 DEBUG util.py:445: Verifying : python3-oslo-reports-2.2.0-0.20210315105955.bc63 42/172 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1 43/172 DEBUG util.py:445: Verifying : python3-oslo-serialization-4.1.1-0.2022022508233 44/172 DEBUG util.py:445: Verifying : python3-oslo-service-2.5.1-0.20220201082833.c1e3 45/172 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-1.3.1-0.20220225074957 46/172 DEBUG util.py:445: Verifying : python3-oslo-utils-4.8.2-0.20220428092247.a38b56 47/172 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-2.4.1-0.2022022507 48/172 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.0-0.20210315111211.5d82a0 49/172 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20210315104351.4179996.el 50/172 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2021031509505 51/172 DEBUG util.py:445: Verifying : python3-tooz-2.8.3-0.20220808091041.73dbe0e.el8. 52/172 DEBUG util.py:445: Verifying : python3-keystoneauth1-4.3.1-0.20210315155409.112 53/172 DEBUG util.py:445: Verifying : python3-keystonemiddleware-9.2.0-0.2021031605290 54/172 DEBUG util.py:445: Verifying : python3-os-client-config-2.1.0-0.20210315163025. 55/172 DEBUG util.py:445: Verifying : gmp-c++-1:6.1.2-10.el8.x86_64 56/172 DEBUG util.py:445: Verifying : gmp-devel-1:6.1.2-10.el8.x86_64 57/172 DEBUG util.py:445: Verifying : keyutils-libs-devel-1.5.10-9.el8.x86_64 58/172 DEBUG util.py:445: Verifying : krb5-devel-1.18.2-25.el8.x86_64 59/172 DEBUG util.py:445: Verifying : libcom_err-devel-1.45.6-5.el8.x86_64 60/172 DEBUG util.py:445: Verifying : libgcrypt-devel-1.8.5-7.el8.x86_64 61/172 DEBUG util.py:445: Verifying : libgpg-error-devel-1.31-1.el8.x86_64 62/172 DEBUG util.py:445: Verifying : libkadm5-1.18.2-25.el8.x86_64 63/172 DEBUG util.py:445: Verifying : libselinux-devel-2.9-8.el8.x86_64 64/172 DEBUG util.py:445: Verifying : libsepol-devel-2.9-3.el8.x86_64 65/172 DEBUG util.py:445: Verifying : libverto-devel-0.3.2-2.el8.x86_64 66/172 DEBUG util.py:445: Verifying : libxslt-1.1.32-6.el8.x86_64 67/172 DEBUG util.py:445: Verifying : libyaml-0.1.7-5.el8.x86_64 68/172 DEBUG util.py:445: Verifying : openssl-devel-1:1.1.1k-9.el8.x86_64 69/172 DEBUG util.py:445: Verifying : pcre2-devel-10.32-3.el8.x86_64 70/172 DEBUG util.py:445: Verifying : pcre2-utf16-10.32-3.el8.x86_64 71/172 DEBUG util.py:445: Verifying : pcre2-utf32-10.32-3.el8.x86_64 72/172 DEBUG util.py:445: Verifying : python3-dateutil-1:2.6.1-6.el8.noarch 73/172 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-13.el8.noarch 74/172 DEBUG util.py:445: Verifying : xz-devel-5.2.4-4.el8.x86_64 75/172 DEBUG util.py:445: Verifying : zlib-devel-1.2.11-25.el8.x86_64 76/172 DEBUG util.py:445: Verifying : cmake-filesystem-3.20.2-5.el8.x86_64 77/172 DEBUG util.py:445: Verifying : libpq-13.5-1.el8.x86_64 78/172 DEBUG util.py:445: Verifying : libxml2-devel-2.9.7-16.el8.x86_64 79/172 DEBUG util.py:445: Verifying : libxslt-devel-1.1.32-6.el8.x86_64 80/172 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faac 81/172 DEBUG util.py:445: Verifying : python3-attrs-17.4.0-6.el8.noarch 82/172 DEBUG util.py:445: Verifying : python3-html5lib-1:0.999999999-6.el8.noarch 83/172 DEBUG util.py:445: Verifying : python3-jmespath-0.9.0-11.el8.noarch 84/172 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-2.el8.noarch 85/172 DEBUG util.py:445: Verifying : python3-jsonpointer-1.10-11.el8.noarch 86/172 DEBUG util.py:445: Verifying : python3-lxml-4.2.3-4.el8.x86_64 87/172 DEBUG util.py:445: Verifying : python3-mako-1.0.6-14.el8.noarch 88/172 DEBUG util.py:445: Verifying : python3-netaddr-0.7.19-8.el8.noarch 89/172 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-4.el8.x86_64 90/172 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-14.el8.noarch 91/172 DEBUG util.py:445: Verifying : python3-psycopg2-2.7.5-7.el8.x86_64 92/172 DEBUG util.py:445: Verifying : python3-pyOpenSSL-19.0.0-1.el8.noarch 93/172 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.29-1.el8.noarch 94/172 DEBUG util.py:445: Verifying : python3-webencodings-0.5.1-6.el8.noarch 95/172 DEBUG util.py:445: Verifying : libsodium-1.0.18-2.el8.x86_64 96/172 DEBUG util.py:445: Verifying : python3-alembic-1.4.3-1.el8.noarch 97/172 DEBUG util.py:445: Verifying : python3-amqp-5.0.5-1.el8.noarch 98/172 DEBUG util.py:445: Verifying : python3-appdirs-1.4.3-12.el8.noarch 99/172 DEBUG util.py:445: Verifying : python3-bcrypt-3.1.7-3.el8.x86_64 100/172 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.9.3-1.el8.noarch 101/172 DEBUG util.py:445: Verifying : python3-cachetools-4.2.0-1.el8.noarch 102/172 DEBUG util.py:445: Verifying : python3-cmd2-1.4.0-1.1.el8.noarch 103/172 DEBUG util.py:445: Verifying : python3-colorama-0.4.3-3.el8.noarch 104/172 DEBUG util.py:445: Verifying : python3-cssselect-0.9.2-13.el8.noarch 105/172 DEBUG util.py:445: Verifying : python3-ddt-1.2.1-4.el8.noarch 106/172 DEBUG util.py:445: Verifying : python3-decorator-4.4.0-5.el8.noarch 107/172 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el8.noarch 108/172 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.5-1.1.el8.noarch 109/172 DEBUG util.py:445: Verifying : python3-editor-1.0.4-4.el8.noarch 110/172 DEBUG util.py:445: Verifying : python3-etcd3gw-0.2.5-1.el8.noarch 111/172 DEBUG util.py:445: Verifying : python3-extras-1.0.0-10.el8.noarch 112/172 DEBUG util.py:445: Verifying : python3-fasteners-0.14.1-20.el8.noarch 113/172 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-16.el8.noarch 114/172 DEBUG util.py:445: Verifying : python3-future-0.18.2-3.el8.noarch 115/172 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-2.el8.noarch 116/172 DEBUG util.py:445: Verifying : python3-importlib-metadata-1.7.0-1.el8.noarch 117/172 DEBUG util.py:445: Verifying : python3-iso8601-0.1.12-3.el8.noarch 118/172 DEBUG util.py:445: Verifying : python3-jeepney-0.4.3-1.el8.noarch 119/172 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-5.el8.noarch 120/172 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-1.el8.noarch 121/172 DEBUG util.py:445: Verifying : python3-keyring-21.0.0-1.el8.noarch 122/172 DEBUG util.py:445: Verifying : python3-kombu-1:5.0.2-1.el8.noarch 123/172 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-11.el8.noarch 124/172 DEBUG util.py:445: Verifying : python3-memcached-1.59-1.el8.noarch 125/172 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-1.el8.noarch 126/172 DEBUG util.py:445: Verifying : python3-mock-3.0.5-7.el8.noarch 127/172 DEBUG util.py:445: Verifying : python3-msgpack-1.0.2-1.el8.x86_64 128/172 DEBUG util.py:445: Verifying : python3-munch-2.5.0-3.el8.noarch 129/172 DEBUG util.py:445: Verifying : python3-paste-3.5.0-1.el8.noarch 130/172 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-1.el8.noarch 131/172 DEBUG util.py:445: Verifying : python3-pecan-1.3.3-2.el8.noarch 132/172 DEBUG util.py:445: Verifying : python3-psutil-5.7.3-1.el8.x86_64 133/172 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.6-3.el8.noarch 134/172 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-1.el8.x86_64 135/172 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-4.el8.noarch 136/172 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-2.el8.noarch 137/172 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-1.el8.x86_64 138/172 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-1.el8.noarch 139/172 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-2.el8.x86_64 140/172 DEBUG util.py:445: Verifying : python3-redis-3.5.3-1.el8.noarch 141/172 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-6.el8.noarch 142/172 DEBUG util.py:445: Verifying : python3-retrying-1.3.3-1.el8.noarch 143/172 DEBUG util.py:445: Verifying : python3-rfc3986-1.4.0-3.el8.noarch 144/172 DEBUG util.py:445: Verifying : python3-routes-2.4.1-12.el8.noarch 145/172 DEBUG util.py:445: Verifying : python3-secretstorage-3.1.1-4.el8.noarch 146/172 DEBUG util.py:445: Verifying : python3-simplejson-3.17.2-2.el8.x86_64 147/172 DEBUG util.py:445: Verifying : python3-smi-0.3.4-6.el8.noarch 148/172 DEBUG util.py:445: Verifying : python3-soupsieve-2.1.0-1.el8.noarch 149/172 DEBUG util.py:445: Verifying : python3-sqlparse-0.3.1-3.el8.noarch 150/172 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-16.el8.noarch 151/172 DEBUG util.py:445: Verifying : python3-stestr-2.6.0-4.el8.noarch 152/172 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-1.el8.noarch 153/172 DEBUG util.py:445: Verifying : python3-tempita-0.5.1-25.el8.noarch 154/172 DEBUG util.py:445: Verifying : python3-tenacity-6.2.0-1.el8.noarch 155/172 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-1.el8.noarch 156/172 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-17.el8.noarch 157/172 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-3.el8.noarch 158/172 DEBUG util.py:445: Verifying : python3-vine-5.0.0-2.el8.noarch 159/172 DEBUG util.py:445: Verifying : python3-voluptuous-0.12.1-1.el8.noarch 160/172 DEBUG util.py:445: Verifying : python3-waitress-1.4.2-1.el8.noarch 161/172 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-1.el8.noarch 162/172 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-2.el8.noarch 163/172 DEBUG util.py:445: Verifying : python3-webob-1.8.6-3.el8.noarch 164/172 DEBUG util.py:445: Verifying : python3-webtest-2.0.35-3.el8.noarch 165/172 DEBUG util.py:445: Verifying : python3-wrapt-1.12.1-3.el8.x86_64 166/172 DEBUG util.py:445: Verifying : python3-yappi-1.3.0-1.el8.x86_64 167/172 DEBUG util.py:445: Verifying : python3-zake-0.2.2-18.el8.noarch 168/172 DEBUG util.py:445: Verifying : python3-zeroconf-0.24.4-1.el8.noarch 169/172 DEBUG util.py:445: Verifying : python3-zipp-3.4.0-1.el8.noarch 170/172 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-3.el8s.x86_64 171/172 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-3.el8s.x86_64 172/172 DEBUG util.py:445: Installed: DEBUG util.py:445: cmake-filesystem-3.20.2-5.el8.x86_64 DEBUG util.py:445: gmp-c++-1:6.1.2-10.el8.x86_64 DEBUG util.py:445: gmp-devel-1:6.1.2-10.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-25.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-25.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-16.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-9.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.7.1-0.20220301090510.d0252f6.el8.noarch DEBUG util.py:445: python-oslo-concurrency-lang-4.4.0-0.20210315114231.7dcf9e9.el8.noarch DEBUG util.py:445: python-oslo-db-lang-8.5.2-0.20221007170041.26fd6fb.el8.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.0.1-0.20210315103856.73187bd.el8.noarch DEBUG util.py:445: python-oslo-log-lang-4.4.0-0.20210315105132.9b29c90.el8.noarch DEBUG util.py:445: python-oslo-middleware-lang-4.2.1-0.20220225080425.b40ca5f.el8.noarch DEBUG util.py:445: python-oslo-policy-lang-3.7.1-0.20220119091831.639b471.el8.noarch DEBUG util.py:445: python-oslo-utils-lang-4.8.2-0.20220428092247.a38b56a.el8.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-2.4.1-0.20220225075849.89ff171.el8.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20210315104351.4179996.el8.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faacb0fb.noarch DEBUG util.py:445: python3-alembic-1.4.3-1.el8.noarch DEBUG util.py:445: python3-amqp-5.0.5-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.3.1-0.20220228091836.4a3e539.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-cinderclient-7.4.1-0.20210903082820.4f72e6f.el8.noarch DEBUG util.py:445: python3-cliff-3.7.0-0.20210315123449.117a100.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-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.2.0-0.20210315103218.649189d.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-6.0.2-0.20220113135856.f23f125.el8.noarch DEBUG util.py:445: python3-editor-1.0.4-4.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-16.el8.noarch DEBUG util.py:445: python3-future-0.18.2-3.el8.noarch DEBUG util.py:445: python3-futurist-2.3.0-0.20210315104620.1a1c6f8.el8.noarch DEBUG util.py:445: python3-glanceclient-1:3.3.0-0.20210315220313.f802c71.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-inotify-0.9.6-13.el8.noarch DEBUG util.py:445: python3-ironic-lib-4.6.4-0.20220808090402.27305f0.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.3.1-0.20210315155409.112bcae.el8.noarch DEBUG util.py:445: python3-keystoneclient-1:4.3.0-0.20220713080823.d5cb761.el8.noarch DEBUG util.py:445: python3-keystonemiddleware-9.2.0-0.20210316052900.3659bda.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.2-1.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.3.1-0.20221108112936.29a9f5e.el8.noarch DEBUG util.py:445: python3-openstacksdk-0.55.1-0.20220406125402.f09ed4a.el8.noarch DEBUG util.py:445: python3-os-client-config-2.1.0-0.20210315163025.bc96c23.el8.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20210315154727.0b2f473.el8.noarch DEBUG util.py:445: python3-os-traits-2.5.0-0.20210315123947.ac1b39e.el8.noarch DEBUG util.py:445: python3-osc-lib-2.3.1-0.20210315174831.2b7a679.el8.noarch DEBUG util.py:445: python3-oslo-cache-2.7.1-0.20220301090510.d0252f6.el8.noarch DEBUG util.py:445: python3-oslo-concurrency-4.4.0-0.20210315114231.7dcf9e9.el8.noarch DEBUG util.py:445: python3-oslo-config-2:8.5.1-0.20210907102309.de1dbee.el8.noarch DEBUG util.py:445: python3-oslo-context-3.2.1-0.20211026071333.b124eb7.el8.noarch DEBUG util.py:445: python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.el8.noarch DEBUG util.py:445: python3-oslo-db-tests-8.5.2-0.20221007170041.26fd6fb.el8.noarch DEBUG util.py:445: python3-oslo-i18n-5.0.1-0.20210315103856.73187bd.el8.noarch DEBUG util.py:445: python3-oslo-log-4.4.0-0.20210315105132.9b29c90.el8.noarch DEBUG util.py:445: python3-oslo-messaging-12.7.3-0.20220428091418.5d6fd1a.el8.noarch DEBUG util.py:445: python3-oslo-middleware-4.2.1-0.20220225080425.b40ca5f.el8.noarch DEBUG util.py:445: python3-oslo-policy-3.7.1-0.20220119091831.639b471.el8.noarch DEBUG util.py:445: python3-oslo-reports-2.2.0-0.20210315105955.bc631ae.el8.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1b960.el8.noarch DEBUG util.py:445: python3-oslo-serialization-4.1.1-0.20220225082330.bbe5d5a.el8.noarch DEBUG util.py:445: python3-oslo-service-2.5.1-0.20220201082833.c1e3398.el8.noarch DEBUG util.py:445: python3-oslo-upgradecheck-1.3.1-0.20220225074957.9561ecb.el8.noarch DEBUG util.py:445: python3-oslo-utils-4.8.2-0.20220428092247.a38b56a.el8.noarch DEBUG util.py:445: python3-oslo-versionedobjects-2.4.1-0.20220225075849.89ff171.el8.noarch DEBUG util.py:445: python3-oslotest-4.4.1-0.20210315103354.aaf3a72.el8.noarch DEBUG util.py:445: python3-osprofiler-3.4.0-0.20210315111211.5d82a02.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-prettytable-0.7.2-14.el8.noarch DEBUG util.py:445: python3-proliantutils-2.9.4-0.20210315101454.5bc7569.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.20210315104351.4179996.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.20210315095058.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.10.2-0.20220802132904.b8e6e34.el8.noarch DEBUG util.py:445: python3-secretstorage-3.1.1-4.el8.noarch DEBUG util.py:445: python3-simplejson-3.17.2-2.el8.x86_64 DEBUG util.py:445: python3-smi-0.3.4-6.el8.noarch DEBUG util.py:445: python3-soupsieve-2.1.0-1.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-2.6.0-4.el8.noarch DEBUG util.py:445: python3-stevedore-3.3.3-0.20221024072403.7b48fff.el8.noarch DEBUG util.py:445: python3-subunit-1.4.0-1.el8.noarch DEBUG util.py:445: python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8.noarch DEBUG util.py:445: python3-swiftclient-3.11.1-0.20210316052106.06b36ae.el8.noarch DEBUG util.py:445: python3-tempita-0.5.1-25.el8.noarch DEBUG util.py:445: python3-tenacity-6.2.0-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.8.3-0.20220808091041.73dbe0e.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.12.1-3.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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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', 'd9cfcfc7d5f4463681cde11128e862df', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-pysnmp-4.4.12-1.el8.noarch 1579751392 2976667 73a5c315003161cbe80ae3b82466bea7 installed DEBUG util.py:445: fontpackages-filesystem-1.44-22.el8.noarch 1557581453 0 40b0272ca2fdd533a2d188077e86c1d2 installed DEBUG util.py:445: python3-oslotest-4.4.1-0.20210315103354.aaf3a72.el8.noarch 1615804485 122721 d15e164941ba665c0c1be4b516da6568 installed DEBUG util.py:445: adobe-mappings-cmap-20171205-3.el8.noarch 1557787815 13746679 5904158c62f46bb518f6445e49044e60 installed DEBUG util.py:445: python3-zake-0.2.2-18.el8.noarch 1579853515 127979 b612cb650583bc8439b5537ef906f9e5 installed DEBUG util.py:445: gtk-update-icon-cache-3.22.30-11.el8.x86_64 1661411318 60398 a45a83b395cb68037d67081b296029c4 installed DEBUG util.py:445: adobe-mappings-cmap-deprecated-20171205-3.el8.noarch 1557787815 596942 6e60575dedf19a3ce375fc2166d1a146 installed DEBUG util.py:445: python3-ifaddr-0.1.7-2.el8.noarch 1599467710 37096 0b24412767fc4090eca9759c232deb80 installed DEBUG util.py:445: urw-base35-c059-fonts-20170801-10.el8.noarch 1557812133 1460348 e6f22d6ea059da79d67e5a1905949c53 installed DEBUG util.py:445: rust-srpm-macros-5-2.el8.noarch 1557810095 1131 d96b3587cf204ff53b4b377f1f61bcc1 installed DEBUG util.py:445: python3-alembic-1.4.3-1.el8.noarch 1606208872 4645206 1d588a4a7e953c18984fd1e4330d0676 installed DEBUG util.py:445: urw-base35-nimbus-roman-fonts-20170801-10.el8.noarch 1557812133 1429675 7c8915d94c2c51421ab11e2bd324f4a8 installed DEBUG util.py:445: perl-srpm-macros-1-25.el8.noarch 1557806236 794 0293bcef8257b954e640b14fa1fbfac0 installed DEBUG util.py:445: python3-cmd2-1.4.0-1.1.el8.noarch 1610603874 1248496 c991ce87a548e60e2149e95d53bc6826 installed DEBUG util.py:445: urw-base35-z003-fonts-20170801-10.el8.noarch 1557812133 400088 0b8313e3b9335f0786c2adf4c8eedb6e installed DEBUG util.py:445: libssh-config-0.9.6-6.el8.noarch 1674052261 277 824a4ef2221391774200713f7357a680 installed DEBUG util.py:445: libsodium-1.0.18-2.el8.x86_64 1579689043 612303 9addf380043a006db57c46745d21b16f installed DEBUG util.py:445: pinentry-1.1.0-2.el8.x86_64 1557807137 199914 91e0fb519dd83812e53a731ed74f5fec installed DEBUG util.py:445: go-srpm-macros-2-17.el8.noarch 1611212519 7342 9d71426f78a143cfc42a3c8a0e969fa9 installed DEBUG util.py:445: python3-beautifulsoup4-4.9.3-1.el8.noarch 1605883264 1021765 c6c091bb0327a60c3f9614fcda930a4d installed DEBUG util.py:445: git-core-2.39.3-1.el8.x86_64 1685964344 31909419 903dbf1220f56bb2b6a087c12f6872ca installed DEBUG util.py:445: centos-stream-release-8.6-1.el8.noarch 1631593927 26489 da424ed8dbfe39ac8f25eb609e365312 installed DEBUG util.py:445: python3-jsonpatch-1.21-2.el8.noarch 1557876014 56526 90dbdae786ad7d81c0d2c42cf307d399 installed DEBUG util.py:445: gnupg2-smime-2.2.20-3.el8.x86_64 1661957780 720346 1cae463ef0856a8005738e88bcb0ab08 installed DEBUG util.py:445: urw-base35-fonts-common-20170801-10.el8.noarch 1557812133 38217 b9c0233504dbc87da36397e6a3d37efc installed DEBUG util.py:445: libpq-13.5-1.el8.x86_64 1639019200 740900 9a8dbfb4803a6f67d16edcf0e0f9890f installed DEBUG util.py:445: gdb-headless-8.2-20.el8.x86_64 1680298639 11910029 b90c0f483b4d3132761f31914aa8529a installed DEBUG util.py:445: libxml2-devel-2.9.7-16.el8.x86_64 1672823293 9202588 82e3c7face56986b80a3581a6cf51d60 installed DEBUG util.py:445: efi-srpm-macros-3-3.el8.noarch 1605562930 39223 a3b1b70e34d0e5bc276f89fe7bb6e7ea installed DEBUG util.py:445: pcre2-devel-10.32-3.el8.x86_64 1656337285 1922619 ce47f573b2c50a1c9652856c0c9874a3 installed DEBUG util.py:445: python3-ply-3.9-9.el8.noarch 1610439834 439890 5f9430e3bd204c3065d8f585be96652d installed DEBUG util.py:445: info-6.5-7.el8_5.x86_64 1644082311 386328 c4578156fb03a45839a22eb9f0244dd7 installed DEBUG util.py:445: libverto-devel-0.3.2-2.el8.x86_64 1657602357 26296 52ce2e056932b2bf8c7fc1183c88216f installed DEBUG util.py:445: python3-pysocks-1.6.8-3.el8.noarch 1557588655 77054 aca0c79a26e9d6a28d3071c1f2270fb4 installed DEBUG util.py:445: libxcrypt-4.1.1-6.el8.x86_64 1620256101 185892 9a730f6114e22545dc8befbe5a0978ca installed DEBUG util.py:445: libcom_err-devel-1.45.6-5.el8.x86_64 1653248421 17058 3d56d7ffbb0f50f9da5fd61c6880ba9b installed DEBUG util.py:445: python3-markupsafe-0.23-19.el8.x86_64 1557807784 78019 3a1380b91678566bb2cbf12fafefcbd7 installed DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20210315095058.d7ac0ff.el8.noarch 1615801911 16711 bf52a4a0b04807b99366f9b13728a54a installed DEBUG util.py:445: python3-rpm-generators-5-8.el8.noarch 1669460862 56753 08702ebf7864d91e4fdf84084979c72a installed DEBUG util.py:445: libxml2-2.9.7-16.el8.x86_64 1672823293 1753250 e1ba9231bfb5e653c04c1bea81576970 installed DEBUG util.py:445: python-oslo-versionedobjects-lang-2.4.1-0.20220225075849.89ff171.el8.noarch 1645776110 14691 4923d5f2463e9ebc75d25c0df5a861d0 installed DEBUG util.py:445: python3-packaging-20.4-1.el8.noarch 1595581848 226606 6f20a53089845f7e03e43811ab4594da installed DEBUG util.py:445: libunistring-0.9.9-3.el8.x86_64 1557538610 1855932 7769c82a0a6aa692f4778f71f6fdec0c installed DEBUG util.py:445: python-oslo-log-lang-4.4.0-0.20210315105132.9b29c90.el8.noarch 1615805583 17101 9a19dc736a88668e2b064644357c981d installed DEBUG util.py:445: python3-sphinxcontrib-devhelp-1.0.1-5.el8.noarch 1580212430 48240 c37be18dff58225e5a9ec3235f6c2ff3 installed DEBUG util.py:445: chkconfig-1.19.2-1.el8.x86_64 1684151951 827702 1fd10303fc1a1a3a61f614b8239ef433 installed DEBUG util.py:445: python3-oslo-config-2:8.5.1-0.20210907102309.de1dbee.el8.noarch 1631010407 1168295 d9012a3622925d5c4305256bdbb262a1 installed DEBUG util.py:445: python3-sphinxcontrib-serializinghtml-1.1.3-5.el8.noarch 1580221798 56043 9172de1086c98a9044663bfc8fd16532 installed DEBUG util.py:445: libattr-2.4.48-3.el8.x86_64 1557533865 27346 bdc22fe0cdcb03a5014e6275c6539003 installed DEBUG util.py:445: python3-oslo-policy-3.7.1-0.20220119091831.639b471.el8.noarch 1642584082 252961 d8f0af2447af09dff6a6ef02012ee500 installed DEBUG util.py:445: libICE-1.0.9-15.el8.x86_64 1573240087 205821 240847d47f854c3eeef95daf071359da installed DEBUG util.py:445: python-oslo-db-lang-8.5.2-0.20221007170041.26fd6fb.el8.noarch 1665162338 17156 a49b323049ad9cb4e4044afc0570ea68 installed DEBUG util.py:445: ImageMagick-6.7.8.9-18.el8.x86_64 1580388743 8917343 cdf347dd516a971569a9020371400933 installed DEBUG util.py:445: python3-oslo-service-2.5.1-0.20220201082833.c1e3398.el8.noarch 1643704296 226208 844150985a4eeb0b96250ed0fee5ad2f installed DEBUG util.py:445: python3-setuptools_scm-6.0.1-1.el8.noarch 1656600867 161412 f0007eaef9d763624dbabcb5919b8013 installed DEBUG util.py:445: file-libs-5.33-25.el8.x86_64 1682333749 6386562 08bffb2391927a9cd5dc225094adee25 installed DEBUG util.py:445: python3-keystonemiddleware-9.2.0-0.20210316052900.3659bda.el8.noarch 1615872589 288119 6fc7ff4ce5a1429876eb37a32e916966 installed DEBUG util.py:445: python3-pbr-5.5.1-1.el8.noarch 1603982946 3586069 895719c97b49f7f4f0bd9cbe8ef927f8 installed DEBUG util.py:445: libtool-ltdl-2.4.6-25.el8.x86_64 1557539440 71434 e5553e445ddba10c79d2f430439f24cb installed DEBUG util.py:445: python3-proliantutils-2.9.4-0.20210315101454.5bc7569.el8.noarch 1615803357 1369008 c6ccf7cf4b2d82698e89b47738aaf58c installed DEBUG util.py:445: libksba-1.3.5-9.el8.x86_64 1675871473 334095 12bc68bc97e3d94e08db9b7789d18d91 installed DEBUG util.py:445: python3-swiftclient-3.11.1-0.20210316052106.06b36ae.el8.noarch 1615872117 628868 04544fbb6250635813ccdc285420abb9 installed DEBUG util.py:445: elfutils-libelf-0.189-3.el8.x86_64 1687955950 1023869 f466ccd2aaa058d535cf426a08fbd6ec installed DEBUG util.py:445: python3-cinderclient-7.4.1-0.20210903082820.4f72e6f.el8.noarch 1630657965 1015727 54d19d958a3c40262a957d50e9eedc17 installed DEBUG util.py:445: dbus-libs-1:1.12.8-26.el8.x86_64 1687176654 380760 e19f5f4f99759cecb909611a028b38f8 installed DEBUG util.py:445: keyutils-libs-1.5.10-9.el8.x86_64 1624079346 43798 293f99eba1dca583e70353c5b61afac4 installed DEBUG util.py:445: python3-stestr-2.6.0-4.el8.noarch 1580102595 656922 4470c1296011a91abc1fd91b576392e1 installed DEBUG util.py:445: findutils-1:4.6.0-21.el8.x86_64 1692182796 1768873 7d3c12082417a5c5013b10f44b20c1c4 installed DEBUG util.py:445: grep-3.1-6.el8.x86_64 1557537409 835205 94ed80f88be0c0b77082a51035c5e53f installed DEBUG util.py:445: python3-dracclient-6.0.2-0.20220113135856.f23f125.el8.noarch 1642082579 2096005 836e29c5fac4e4331336ca342a944845 installed DEBUG util.py:445: platform-python-pip-9.0.3-23.el8.noarch 1691669373 6915702 da5027823fcf24edb44f3517c2ae4a3a installed DEBUG util.py:445: zip-3.0-23.el8.x86_64 1557590650 842885 100278a94f1f36e5918a09b79dbfa0a1 installed DEBUG util.py:445: crypto-policies-20230731-1.git3177e06.el8.noarch 1690913611 73739 d6a452df4cc716ea4a6f7e360a0d4dbf installed DEBUG util.py:445: libpsl-0.20.2-6.el8.x86_64 1592340337 70732 a7693d63f1f80dfe21554ad582a61481 installed DEBUG util.py:445: elfutils-debuginfod-client-0.189-3.el8.x86_64 1687955950 54918 3f3adc413f24070a81727ca768c4bbb5 installed DEBUG util.py:445: dwz-0.12-10.el8.x86_64 1622696781 230263 7fc13bfd107311f1a1028bb2c7164ef6 installed DEBUG util.py:445: zstd-1.4.5-6.el8.x86_64 1600319865 1768962 53344c4e4a7ec37b337e62c5ab18a928 installed DEBUG util.py:445: pigz-2.4-4.el8.x86_64 1586225446 140679 1c50ec08f41c019995d4702eaeb6459d installed DEBUG util.py:445: elfutils-0.189-3.el8.x86_64 1687955950 2845363 d2fcddac30614456b339bb512a80f8a8 installed DEBUG util.py:445: brotli-1.0.6-3.el8.x86_64 1610440170 1522084 00b886e8ad6fc471f1f87d849b045841 installed DEBUG util.py:445: python3-pytz-2017.2-11.el8.noarch 1689251466 178761 776850354b11a6af5b7bb4226003a99d installed DEBUG util.py:445: gc-7.6.4-3.el8.x86_64 1557791247 229024 d16a971513963ab4666f0aef05b733b6 installed DEBUG util.py:445: tpm2-tss-2.3.2-5.el8.x86_64 1689004605 1209174 21ad5c9145ebcae830db96fe6b992f94 installed DEBUG util.py:445: libpkgconf-1.4.2-1.el8.x86_64 1557540110 68093 c1d476e8247ae535374ebffccfb2ca5c installed DEBUG util.py:445: xorg-x11-fonts-ISO8859-1-100dpi-7.5-19.el8.noarch 1557814059 1070824 db0cbd7441bae6fe18d87986701c4b0a installed DEBUG util.py:445: libblkid-2.32.1-43.el8.x86_64 1691671507 343976 0b22b8e35ce71987c7ae6f2e6a6dd44a installed DEBUG util.py:445: libsigsegv-2.11-5.el8.x86_64 1557538364 47034 5625ecad632168eecb8960821b0abeca installed DEBUG util.py:445: libsmartcols-2.32.1-43.el8.x86_64 1691671507 248482 0344a8f780ca00e16b71f3fa51c68529 installed DEBUG util.py:445: memstrack-0.2.5-2.el8.x86_64 1687832403 128567 5a436f8cb607778b3f684429a58c3213 installed DEBUG util.py:445: openssh-8.0p1-19.el8.x86_64 1692890029 1918041 fd0ec898f90854716bb85d64b2770406 installed DEBUG util.py:445: jbig2dec-libs-0.16-1.el8.x86_64 1606872437 159483 dffd88facccacc54747680c27e6dc140 installed DEBUG util.py:445: openssh-clients-8.0p1-19.el8.x86_64 1692890029 2569612 4ae7ce5d49021fac7898452e3c6818e1 installed DEBUG util.py:445: libxcb-1.13.1-1.el8.x86_64 1586219222 1028472 9871866c5dc03e2f1adf8c7cc84d8a1d installed DEBUG util.py:445: libXt-1.1.5-12.el8.x86_64 1573245539 597617 3238eebe16e74f4f20a0d43492842ab2 installed DEBUG util.py:445: libXcursor-1.1.15-3.el8.x86_64 1557799696 48759 1f160b358d95dc012768764ef017ab26 installed DEBUG util.py:445: libXaw-1.0.13-10.el8.x86_64 1557799695 523837 2017f62bc27ca372978960ff77416260 installed DEBUG util.py:445: libXcomposite-0.4.4-14.el8.x86_64 1557799684 35952 994c8bec984cc544058db44ccad111b2 installed DEBUG util.py:445: libmcpp-2.7.2-20.el8.x86_64 1557800694 153388 1ff95fab40bb4954f1975ed036efc0ed installed DEBUG util.py:445: libwmf-lite-0.2.9-8.el8_0.x86_64 1569937142 156867 e161e48826fbf0298512536fe2d572c6 installed DEBUG util.py:445: glibc-2.28-236.el8.7.x86_64 1696598190 6717328 c0a9f7219a62f503c362f94ba2d437cd installed DEBUG util.py:445: python3-setuptools-50.3.2-1.el8.noarch 1604588097 4012159 a58878bc680b75a3e938fc5acf4364da installed DEBUG util.py:445: libgomp-8.5.0-21.el8.x86_64 1696451726 331983 9bbc6bd0577a170005131eaf235a1f1a installed DEBUG util.py:445: openldap-2.4.46-18.el8.x86_64 1628572349 1006595 15d3b20f700d3c5214ea8b788acd0619 installed DEBUG util.py:445: gcc-8.5.0-21.el8.x86_64 1696451726 61705150 94cc1672edcc985dc0a4001e739e62e6 installed DEBUG util.py:445: libkcapi-hmaccalc-1.2.0-2.el8.x86_64 1592278935 34197 5fdb7ce2e0d5710c1733d06846fbb172 installed DEBUG util.py:445: python3-prettytable-0.7.2-14.el8.noarch 1557807872 171099 5a0d8112efe6e474f37613b348375fd6 installed DEBUG util.py:445: python3-simplejson-3.17.2-2.el8.x86_64 1599556574 1019745 6f92bc56ea4251e9c680f52c6a439868 installed DEBUG util.py:445: python3-futurist-2.3.0-0.20210315104620.1a1c6f8.el8.noarch 1615805241 217834 6442a0428ec0c0d1ed36e1d65951a9f4 installed DEBUG util.py:445: python3-oslo-context-3.2.1-0.20211026071333.b124eb7.el8.noarch 1635232567 52636 51e05a9559d631bdf3da4c80d68cbde2 installed DEBUG util.py:445: kpartx-0.8.4-39.el8.x86_64 1679000125 77459 f3b31908bb86e390a5d8b76958d59efb installed DEBUG util.py:445: python3-tenacity-6.2.0-1.el8.noarch 1599451243 151829 19f62ffb2b56017e15cd5979562eaabf installed DEBUG util.py:445: openssl-pkcs11-0.4.10-3.el8.x86_64 1673600760 204098 8b8295bdd096f565d2011cecd8c10021 installed DEBUG util.py:445: python3-fasteners-0.14.1-20.el8.noarch 1580029617 112957 bd84cbbac090c1e13709e5976a744ff1 installed DEBUG util.py:445: python3-subunit-1.4.0-1.el8.noarch 1584717853 330559 2b95f2bf26e7176c77e172f71f2542b0 installed DEBUG util.py:445: libxslt-1.1.32-6.el8.x86_64 1602701861 751741 4f9035f3dfbee97bd3f6396d93dcc3db installed DEBUG util.py:445: python3-paste-deploy-2.1.1-1.el8.noarch 1606819865 107217 c3a68a6a50d59cf7d57efafa301f35f2 installed DEBUG util.py:445: openssl-libs-1:1.1.1k-9.el8.x86_64 1676684453 3769866 f388309f4c270ba373f84969ce696316 installed DEBUG util.py:445: python3-qpid-proton-0.35.0-3.el8s.x86_64 1642501376 2589361 fd68174680eba798567fd47850edb0e2 installed DEBUG util.py:445: kmod-libs-25-19.el8.x86_64 1638465389 126632 4a391dfbf0ad1f6e002b5c69bf61915f installed DEBUG util.py:445: python3-stevedore-3.3.3-0.20221024072403.7b48fff.el8.noarch 1666596596 260076 ba058448fc9a1dcc631d327ac75373aa installed DEBUG util.py:445: libutempter-1.1.6-14.el8.x86_64 1557538847 52637 d8773aceac7955c99c3d89a95568c180 installed DEBUG util.py:445: python3-kombu-1:5.0.2-1.el8.noarch 1610001917 1312489 b4a53fef82810cd3a2f7c88078a2f23f installed DEBUG util.py:445: python3-testresources-2.0.1-1.el8.noarch 1610340318 244862 68bd230e309060c721c96fe24b57b30e installed DEBUG util.py:445: gettext-0.19.8.1-17.el8.x86_64 1573236536 5412553 b0c5f450b122286eb0d173e9c1aaa23d installed DEBUG util.py:445: python3-soupsieve-2.1.0-1.el8.noarch 1610096098 218144 7a667d161b128362cc7dd33eb47bfd73 installed DEBUG util.py:445: gnutls-3.6.16-7.el8.x86_64 1687784935 3007935 d90999573ad69a5f9dc792e17c93d72e installed DEBUG util.py:445: python3-repoze-lru-0.7-6.el8.noarch 1580057272 85678 069ca5535d4df63b3d1625024042d60a installed DEBUG util.py:445: trousers-0.3.15-1.el8.x86_64 1605566220 379862 235c760ad73fd5580c2d3fe9a67ea520 installed DEBUG util.py:445: python3-jsonschema-3.2.0-5.el8.noarch 1600358490 423199 9aae430f975f2b3eef8644e028e2e7da installed DEBUG util.py:445: python36-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 1629906467 13131 6544e244d2f6738e01f4ae552a7b8935 installed DEBUG util.py:445: gpg-pubkey-8483c65d-5ccc5b19 1556896537 0 (none) installed DEBUG util.py:445: atk-2.28.1-1.el8.x86_64 1557788256 1294970 d03abb8e862140158230d990e67ed0da installed DEBUG util.py:445: python-srpm-macros-3-45.el8.noarch 1680539618 6093 d65adfac12f7687a1f4ab507f6f3f3ce installed DEBUG util.py:445: google-droid-sans-fonts-20120715-13.el8.noarch 1557792636 6229278 ae5337d5ef62351fcad39143150dd6bf installed DEBUG util.py:445: python3-rpm-macros-3-45.el8.noarch 1680539618 3714 a62e47f8159b75a079594efad4a34868 installed DEBUG util.py:445: python3-docutils-0.14-12.module_el8.5.0+761+faacb0fb.noarch 1620074374 6160361 7208bbbba42890e2682ab5ef40c790e4 installed DEBUG util.py:445: tzdata-2023c-1.el8.noarch 1680044438 1788198 2098dc73d00c1eaa998eae8a319ddadb installed DEBUG util.py:445: gdk-pixbuf2-modules-2.36.12-5.el8.x86_64 1573236241 315856 e5d50b0e3a219515e3750449e63cb1e2 installed DEBUG util.py:445: gd-2.2.5-7.el8.x86_64 1589850748 422939 023b63662de1358d5d69c353073c8134 installed DEBUG util.py:445: xkeyboard-config-2.28-1.el8.noarch 1586216137 5683972 9697dbcb924dbd4435f35458f3e0a320 installed DEBUG util.py:445: urw-base35-bookman-fonts-20170801-10.el8.noarch 1557812133 1428518 2cbb1a3a39ef1185fe9a193d003951ba installed DEBUG util.py:445: adobe-mappings-pdf-20180407-1.el8.noarch 1557787906 4398414 a27029d067dc090e174ebae3e994403a installed DEBUG util.py:445: urw-base35-d050000l-fonts-20170801-10.el8.noarch 1557812133 86572 500e4022d7801715bb69cc1f1e1603c3 installed DEBUG util.py:445: qt5-srpm-macros-5.15.3-1.el8.noarch 1650028059 0 b8b9b1538fe7cda65fa74d5d86014e9b installed DEBUG util.py:445: urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.noarch 1557812133 1099749 c64c1ed1e447e132e92adfd76aa3870e installed DEBUG util.py:445: pkgconf-m4-1.4.2-1.el8.noarch 1557535856 14187 398894375a82b4e1d5f7f0b38d3bec99 installed DEBUG util.py:445: urw-base35-nimbus-sans-fonts-20170801-10.el8.noarch 1557812133 2469317 dffcdf61c430e626a40ce66d8ba2fb93 installed DEBUG util.py:445: openblas-srpm-macros-2-2.el8.noarch 1557802474 104 43aa3a337edfc79098c8ad423b5e49df installed DEBUG util.py:445: urw-base35-standard-symbols-ps-fonts-20170801-10.el8.noarch 1557812133 45184 3d036fbd5ec99facbd7416bcff86c58f installed DEBUG util.py:445: urw-base35-fonts-20170801-10.el8.noarch 1557812133 5478 90b579587fc764dac0351a2f2e04f3c4 installed DEBUG util.py:445: libsecret-0.18.6-1.el8.x86_64 1557586041 520362 debd45dfee226d419b9cb0f66242aa5b installed DEBUG util.py:445: kbd-legacy-2.0.4-11.el8.noarch 1687429015 511139 0c95178d26cd94a9667dd5e62ede1bf9 installed DEBUG util.py:445: harfbuzz-1.7.5-3.el8.x86_64 1557793694 802826 f0573459cfad84d39db6f740bbfa3c27 installed DEBUG util.py:445: ghc-srpm-macros-1.4.2-7.el8.noarch 1557791779 414 0c2ffae7ef28a3e4ad323b8bf7838fc2 installed DEBUG util.py:445: centos-gpg-keys-1:8-6.el8.noarch 1648479459 5553 17a6c705245dbce28757688b8f111bc8 installed DEBUG util.py:445: centos-stream-repos-8-6.el8.noarch 1648479459 27325 b092d25cd1ef83cf0cc65d36f9eaf62d installed DEBUG util.py:445: libusbx-1.0.23-4.el8.x86_64 1597694995 154147 e33931f38043a589aa86b9fcc10e85c8 installed DEBUG util.py:445: filesystem-3.8-6.el8.x86_64 1624338504 0 3c32372eedf991b4800af16812b623be installed DEBUG util.py:445: gnupg2-2.2.20-3.el8.x86_64 1661957780 9919259 0b51343dec74afd8466e25d023671580 installed DEBUG util.py:445: basesystem-11-5.el8.noarch 1557533944 0 f988bd6b76df626c40d6e051ee7629c9 installed DEBUG util.py:445: guile-5:2.0.14-7.el8.x86_64 1557794711 12159310 575e446ce886def641e2b1c46db9480d installed DEBUG util.py:445: libselinux-2.9-8.el8.x86_64 1670915474 173168 30c470acf094308028643d2f1e2cfbdf installed DEBUG util.py:445: hicolor-icon-theme-0.17-2.el8.noarch 1557793701 73932 7fbb3efb70b3a17ca40662e89407d14b installed DEBUG util.py:445: redhat-rpm-config-131-1.el8.noarch 1676684160 157400 c36f4f57b78ec89f9ac77f0d2edef314 installed DEBUG util.py:445: bash-4.4.20-4.el8.x86_64 1649373002 6861444 cadc3326c595c0b04115f7757854811d installed DEBUG util.py:445: python3-chardet-3.0.4-7.el8.noarch 1557588504 925538 3d6e31f2f246ed23c213fc0cd0d3ca9d installed DEBUG util.py:445: zlib-1.2.11-25.el8.x86_64 1684348514 199975 e7bcb446b9cca2a16286bf82d234c38c installed DEBUG util.py:445: python3-pycparser-2.14-14.el8.noarch 1557588721 600603 6b68d2d931aee93643ccf524781878ef installed DEBUG util.py:445: xz-libs-5.2.4-4.el8.x86_64 1656337654 164967 94e1a4189359a90b9127634191a3f402 installed DEBUG util.py:445: python3-cryptography-3.2.1-6.el8.x86_64 1681889169 2873639 4ab8b6e2510cf7a176183e5b5604d3c7 installed DEBUG util.py:445: python3-urllib3-1.25.10-4.el8.noarch 1615375209 671301 7e227c737a9e8bbdbc381acbd288ccfa installed DEBUG util.py:445: gmp-1:6.1.2-10.el8.x86_64 1573237036 1678740 d97c6201b7617cb78474f88a10f7da34 installed DEBUG util.py:445: python3-greenlet-0.4.13-4.el8.x86_64 1586217715 46291 1a5e11b6e41ab3f8a6ba8b67f87c788d installed DEBUG util.py:445: freetype-2.9.1-9.el8.x86_64 1654765760 812023 798980f9d28ed49dd7655425fbe54e7f installed DEBUG util.py:445: libcom_err-1.45.6-5.el8.x86_64 1653248421 61377 087334fbb3385c4bc50bb7f28805dc9e installed DEBUG util.py:445: python3-jinja2-2.10.1-3.el8.noarch 1617167112 2611832 c24d19259a2cf7b862a445fb3edd2e40 installed DEBUG util.py:445: readline-7.0-10.el8.x86_64 1557540187 466321 53395adc92c214ce3ce3f63c19180d19 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: sqlite-libs-3.26.0-18.el8.x86_64 1681806621 1166625 cb1c8159a07d53ee6779e698773d8fc5 installed DEBUG util.py:445: python3-sphinxcontrib-applehelp-1.0.1-5.el8.noarch 1580211253 64682 fabb49fce97a666a44c6eff2e121b71b installed DEBUG util.py:445: popt-1.18-1.el8.x86_64 1611039801 126626 34faaf171aafe13b647873235a7d1c2f installed DEBUG util.py:445: python3-sphinxcontrib-htmlhelp-1.0.3-2.el8.noarch 1599567831 67484 be89ec19f1cef9c296975bc042efe7d9 installed DEBUG util.py:445: libjpeg-turbo-1.5.3-12.el8.x86_64 1626498492 525483 bcab14000d498cc0f5db2fa67ac21c0c installed DEBUG util.py:445: python3-sphinxcontrib-qthelp-1.0.2-0.1.5.el8.noarch 1580216732 59149 d9d3b02dfcfa6ceb77ce5e95eead3d74 installed DEBUG util.py:445: mpfr-3.1.6-1.el8.x86_64 1557539247 612625 7504c4f1b7aab1cf22f4896a6c35e91f installed DEBUG util.py:445: python3-toml-0.10.1-2.el8.noarch 1604489053 101173 8f5e78f6104d838fcafe369bbbb8e98e installed DEBUG util.py:445: libacl-2.2.53-1.el8.x86_64 1557533834 59272 cd43f03193723ee093e7705f1c5c6f39 installed DEBUG util.py:445: libffi-3.1-24.el8.x86_64 1670317697 53836 8744668b557ade91e3fe8b1f33aa9c0d installed DEBUG util.py:445: cairo-1.15.12-6.el8.x86_64 1645628884 1806404 ca30c032ba21d3c8b1cf9ed8a13f40df installed DEBUG util.py:445: p11-kit-0.23.22-1.el8.x86_64 1610439813 1637889 b3179d583d80d2c2d7a8a83dd6a158f7 installed DEBUG util.py:445: librsvg2-2.42.7-5.el8.x86_64 1687333170 1700591 e40ee491c01bb66062e250f6a006e4b3 installed DEBUG util.py:445: gtk2-2.24.32-5.el8.x86_64 1610550220 13656670 e99de318a9515b6a03d9fe7896439b7d installed DEBUG util.py:445: lua-libs-5.3.4-12.el8.x86_64 1629847282 247936 7cc496ef4794d14eb6d2beb2213a6068 installed DEBUG util.py:445: python3-sphinx-1:2.2.2-1.el8.noarch 1580225759 9155946 12b92d7b8e76c1a8f1bceba2fb1d2256 installed DEBUG util.py:445: libassuan-2.5.1-3.el8.x86_64 1557537853 202763 44d9976e6073475aebe11bef3ff8dc33 installed DEBUG util.py:445: python36-devel-3.6.8-38.module_el8.5.0+895+a459eca8.x86_64 1629906467 13131 cac33b32862e7620bd62775440cfada6 installed DEBUG util.py:445: file-5.33-25.el8.x86_64 1682333749 93419 630d5965e48a602c343e127bd1b3f42d installed DEBUG util.py:445: rpm-build-4.14.3-26.el8.x86_64 1671621519 299118 d7ed05be297f0399ea3000782be19c1c installed DEBUG util.py:445: audit-libs-3.0.7-5.el8.x86_64 1688018873 308490 8e57d2d99fcee41634c5109f3fc656fd installed DEBUG util.py:445: python3-sqlalchemy-1.3.2-2.module_el8.5.0+761+faacb0fb.x86_64 1620074627 10496393 e8d3b2edbe0d7458dc05434f01b62893 installed DEBUG util.py:445: lz4-libs-1.8.3-3.el8_4.x86_64 1624987199 121071 f6620dfa2263b2cbb74a743ee0776f62 installed DEBUG util.py:445: openstack-macros-2023.1.0-0.20230216203410.ce6a105.el8.noarch 1676580174 49110 423e67d7f86d2414f7535a0ec560fd1d installed DEBUG util.py:445: jasper-libs-2.0.14-5.el8.x86_64 1622639140 371562 159f175d036031f757452793c1ff5f49 installed DEBUG util.py:445: ilmbase-2.2.0-13.el8.x86_64 1611126127 552614 714a852737f1dc94e6d0d0781ecc95f0 installed DEBUG util.py:445: diffutils-3.6-6.el8.x86_64 1586218984 1369962 f1d7b5001daf0d2122265c67b7fa2b7f installed DEBUG util.py:445: libcap-2.48-5.el8.x86_64 1689167944 164893 e466418ca1ae1355515b04e43e32aebb installed DEBUG util.py:445: grub2-common-1:2.02-129.el8.noarch 1658241249 5067207 00f4bc37a08c6f1bf98b7788f6032871 installed DEBUG util.py:445: shadow-utils-2:4.6-19.el8.x86_64 1689167896 4072877 9fb58c888a4733e8d2e7bcc498816e14 installed DEBUG util.py:445: gdbm-libs-1:1.18-2.el8.x86_64 1657904919 118464 66315874e03177ee8c3ddf19661d2510 installed DEBUG util.py:445: cryptsetup-libs-2.3.7-7.el8.x86_64 1689086221 2145935 05ca35fcd07c67022ee3f416875f98a1 installed DEBUG util.py:445: libtasn1-4.13-4.el8.x86_64 1673989584 165293 b24f7dc4a3635fb95f51754aa4ed156e installed DEBUG util.py:445: dbus-tools-1:1.12.8-26.el8.x86_64 1687176654 124953 26c109bc01b8cd8cd8cb26f81c420d2d installed DEBUG util.py:445: pcre-8.42-6.el8.x86_64 1623077291 509947 b146b4e2538cfead7d91fa5629c7672b installed DEBUG util.py:445: libX11-common-1.6.8-6.el8.noarch 1688652401 1339608 f973322362bfbdb17ee6ce10e85fed15 installed DEBUG util.py:445: xz-5.2.4-4.el8.x86_64 1656337654 424218 328d0b80687b91e59ac85d3ba408fc8f installed DEBUG util.py:445: ncurses-libs-6.1-10.20180224.el8.x86_64 1692099122 955832 91643d39d34f06af8736e46c4bec4271 installed DEBUG util.py:445: gdbm-1:1.18-2.el8.x86_64 1657904919 389737 04ab9339707040a6bc7b8a7029e98da1 installed DEBUG util.py:445: platform-python-3.6.8-55.el8.x86_64 1691689248 41206 8888f380bc121716df8fdc26f334185c installed DEBUG util.py:445: OpenEXR-libs-2.2.0-12.el8.x86_64 1611039866 3287806 e61d1f59bef124a4493b72a77bb9b5b8 installed DEBUG util.py:445: crypto-policies-scripts-20230731-1.git3177e06.el8.noarch 1690913611 190780 c7e44b2df623f6cdd4faf472c26f65a6 installed DEBUG util.py:445: libsemanage-2.9-9.el8.x86_64 1660612117 312352 6ed29e7063ac6b372e35ffead945b764 installed DEBUG util.py:445: krb5-libs-1.18.2-25.el8.x86_64 1691600697 2242243 7f2c4c7ed1cd272b2af991903d029064 installed DEBUG util.py:445: acl-2.2.53-1.el8.x86_64 1557533834 205740 483792b8b5f9eb8be7dc4407733118d0 installed DEBUG util.py:445: elfutils-default-yama-scope-0.189-3.el8.noarch 1687955970 1810 bd9042eef6c9d55e4265377c3c3417c8 installed DEBUG util.py:445: patch-2.7.6-11.el8.x86_64 1586219104 266609 0d454699b91476374cc9397d264731f3 installed DEBUG util.py:445: elfutils-libs-0.189-3.el8.x86_64 1687955950 729855 6ce0f16416612aee0640584de2ea101d installed DEBUG util.py:445: isl-0.16.1-6.el8.x86_64 1557795443 3270833 7e07c5719518014f7be119290bd3c713 installed DEBUG util.py:445: dbus-daemon-1:1.12.8-26.el8.x86_64 1687176654 559353 e7d5b6095f6d1c4ccbe83f2eddc759df installed DEBUG util.py:445: graphite2-1.3.10-10.el8.x86_64 1557792966 270396 8bd9e8164c9b128b70bb6b6a28ecc04e installed DEBUG util.py:445: bzip2-1.0.6-26.el8.x86_64 1557535203 93460 3a97e3a32e5b761e2596c25ba1185da3 installed DEBUG util.py:445: libidn-1.34-5.el8.x86_64 1557798071 713211 093d16171fe387733094b8aead460e49 installed DEBUG util.py:445: libfontenc-1.1.3-8.el8.x86_64 1557797252 57021 9e9c07ea8ff2599ca7a271a05b92641d installed DEBUG util.py:445: dracut-049-228.git20230802.el8.x86_64 1690977954 1057998 2fcc8323b366faf1256c9429c5c02f48 installed DEBUG util.py:445: libpaper-1.1.24-22.el8.x86_64 1557798538 90939 4970014f161418aee1c0460e8ce027e7 installed DEBUG util.py:445: curl-7.61.1-33.el8.x86_64 1688043159 700909 0884056e0306f3a6fad7d001c5836ec3 installed DEBUG util.py:445: hardlink-1:1.3-6.el8.x86_64 1557584225 36734 c181276efeba819b03a9eaa4e0560fe0 installed DEBUG util.py:445: libatomic_ops-7.6.2-3.el8.x86_64 1557796230 76822 6f1ef12f2494056f5cbafb60b23d483c installed DEBUG util.py:445: libedit-3.1-23.20170329cvs.el8.x86_64 1557584920 247168 bcd179f588923a78be4b41d5ec7a7a39 installed DEBUG util.py:445: libnghttp2-1.33.0-3.el8_2.1.x86_64 1593182373 168044 54279556ffeb8d7a527c7d6d157965e3 installed DEBUG util.py:445: pkgconf-1.4.2-1.el8.x86_64 1557540110 63271 c5c251d6f960076fcbae5a6e61fe23d1 installed DEBUG util.py:445: xorg-x11-font-utils-1:7.5-41.el8.x86_64 1621919854 370642 0b1427c2a647710ac4cee0210d3ace61 installed DEBUG util.py:445: libxcrypt-devel-4.1.1-6.el8.x86_64 1620256101 24771 2d838e5efc044e30fecec1c0ee5853b4 installed DEBUG util.py:445: libuuid-2.32.1-43.el8.x86_64 1691671507 35088 d1f3c7f2c4082db3226ed0b2d62f8da8 installed DEBUG util.py:445: libseccomp-2.5.2-1.el8.x86_64 1636621937 169813 83a4d8ffb5f6473307a39b3ccf04615b installed DEBUG util.py:445: libmount-2.32.1-43.el8.x86_64 1691671507 398266 0fff7aec7f3a4230ff274a7252dd6fcc installed DEBUG util.py:445: gawk-4.2.1-4.el8.x86_64 1646024913 2699766 28a799aac50e4bf636555a59b7c774ff installed DEBUG util.py:445: libfdisk-2.32.1-43.el8.x86_64 1691671507 438914 df00dcc4116bc7ca44ea96e26fdd071e installed DEBUG util.py:445: libverto-0.3.2-2.el8.x86_64 1657602357 26789 06cdda95dc186961629de2a1fafe340d installed DEBUG util.py:445: util-linux-2.32.1-43.el8.x86_64 1691671507 11571483 e7bbcf63d6b93b10899a223f026d4620 installed DEBUG util.py:445: systemd-239-78.el8.x86_64 1692716430 11352519 b08f181bfb1f13c8fd573dd836dacc6d installed DEBUG util.py:445: fribidi-1.0.4-9.el8.x86_64 1650481543 319773 f0f46909dc8f2029a7a045f7d0d50314 installed DEBUG util.py:445: jbigkit-libs-2.1-14.el8.x86_64 1557795391 109677 c63a249918e68c8fb851261731080349 installed DEBUG util.py:445: libXau-1.0.9-3.el8.x86_64 1592328400 61140 ca2961607311999ff371f6fc83e2aeec installed DEBUG util.py:445: systemd-udev-239-78.el8.x86_64 1692716430 9351159 688a8cf05caa74c76cc17719e3ca4af9 installed DEBUG util.py:445: libXrender-0.9.10-7.el8.x86_64 1557800148 52595 aae5a4b6679fda4aec635060b59c5d69 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: libXmu-1.1.3-1.el8.x86_64 1592338347 181056 2af6927c71dcd7520bf9779b5e13d2f5 installed DEBUG util.py:445: libXpm-3.5.12-9.el8.x86_64 1674589552 120991 2f701bca7e2a5022333cf7c6cfca4e5c installed DEBUG util.py:445: libXrandr-1.5.2-1.el8.x86_64 1592338501 49570 90e90d2dda89ab86d5b0fcc0e4a6b9f3 installed DEBUG util.py:445: avahi-libs-0.7-21.el8.x86_64 1692811032 155904 13e8475f739109fc27024e7661ad9714 installed DEBUG util.py:445: libXinerama-1.1.4-1.el8.x86_64 1557799917 15719 a58f333735db17b93d106a10499d219c installed DEBUG util.py:445: libXdamage-1.1.4-14.el8.x86_64 1557799752 30432 5a6d7d7ded7b105fd1e101c7cba314e9 installed DEBUG util.py:445: libXxf86vm-1.1.4-9.el8.x86_64 1557800208 26424 2e674cae50d672e67f5afc5b46afe913 installed DEBUG util.py:445: libdatrie-0.2.9-7.el8.x86_64 1557796570 62583 e8238df1f04b3284ea4c6b4a5c1c79ca installed DEBUG util.py:445: libijs-0.35-5.el8.x86_64 1557797717 60640 86aa14b655428b65d88a68e8b0014c2e installed DEBUG util.py:445: mcpp-2.7.2-20.el8.x86_64 1557800694 53794 b10475c4ce5d13728b96c76f68834d1e installed DEBUG util.py:445: libgs-9.27-12.el8.x86_64 1695233820 19192291 a2fcf295e664539c0afc1ab03b56f589 installed DEBUG util.py:445: libwebp-1.0.0-9.el8.x86_64 1683111744 790736 8e4084a1335c10349c3c2324e89e32b1 installed DEBUG util.py:445: glibc-all-langpacks-2.28-236.el8.7.x86_64 1696598190 436431288 fed350f804871269dac79f7d03938f96 installed DEBUG util.py:445: libxkbcommon-0.9.1-1.el8.x86_64 1586217131 274814 25be112b9cbc4a9c50fe045ce7ab452b installed DEBUG util.py:445: glibc-gconv-extra-2.28-236.el8.7.x86_64 1696598190 6416518 7002a0ca05a68b96561c0d7dfd4c49a1 installed DEBUG util.py:445: libgcc-8.5.0-21.el8.x86_64 1696451726 190224 197f76862ec54ae58904250a0c4e1847 installed DEBUG util.py:445: cpp-8.5.0-21.el8.x86_64 1696451726 29661654 8a6cf8b48ec285ba4c4c86ff8fb98f31 installed DEBUG util.py:445: libssh-0.9.6-6.el8.x86_64 1674052151 517735 23c9df7457ee0068e5332063a4086928 installed DEBUG util.py:445: kernel-headers-4.18.0-516.el8.x86_64 1696255306 5648445 1fc2fe3daa87ebff94804921beb13b29 installed DEBUG util.py:445: glibc-devel-2.28-236.el8.7.x86_64 1696598190 240562 ab505fe1381cd774ecb3568214c2b053 installed DEBUG util.py:445: libkcapi-1.2.0-2.el8.x86_64 1592278935 80563 bc01bd73cc562d8c2dc51ec63a3f7737 installed DEBUG util.py:445: gcc-plugin-annobin-8.5.0-21.el8.x86_64 1696451726 49376 2fc2950386ea031e4b451877628191f9 installed DEBUG util.py:445: libarchive-3.3.3-5.el8.x86_64 1670505024 838263 13b139965f543676276cad7faf213352 installed DEBUG util.py:445: python3-webob-1.8.6-3.el8.noarch 1599578765 1265395 39e76afdc5efada9bbbff0772ed9c5ae installed DEBUG util.py:445: python3-iso8601-0.1.12-3.el8.noarch 1599467180 48733 28a483957eb5775c236c66ae7c2a1943 installed DEBUG util.py:445: openssl-1:1.1.1k-9.el8.x86_64 1676684453 1185204 1eef670946a60c748e7fa409d95ce3bd installed DEBUG util.py:445: python3-dateutil-1:2.6.1-6.el8.noarch 1557588521 596677 e1f1417da4b0cd49312a7874c640c923 installed DEBUG util.py:445: python3-decorator-4.4.0-5.el8.noarch 1580270094 60998 2396ad78d94459ad2874339675e3dac8 installed DEBUG util.py:445: gzip-1.9-13.el8.x86_64 1651007152 352946 988e0f4934a627cadddb6b13e8e54191 installed DEBUG util.py:445: python3-mako-1.0.6-14.el8.noarch 1675262817 553374 5dc5e0144b5455ad0a28ddc3ae11a8ff installed DEBUG util.py:445: cracklib-dicts-2.9.6-15.el8.x86_64 1557533913 9815016 8eee07257e44944a0f934d9d302fb451 installed DEBUG util.py:445: python3-os-service-types-1.7.0-0.20210315154727.0b2f473.el8.noarch 1615823304 105128 027ec13c1877d770f4204e4bf959340a installed DEBUG util.py:445: python3-debtcollector-2.2.0-0.20210315103218.649189d.el8.noarch 1615804405 78015 8b7bdbce362cd1874afe63a6a35499e9 installed DEBUG util.py:445: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 1557538193 147122 7be9bc3ac6e7e4d56de085c410a8e20d installed DEBUG util.py:445: python3-voluptuous-0.12.1-1.el8.noarch 1610340498 293245 df370bc7caeec5f3003f44612ee69e5d installed DEBUG util.py:445: device-mapper-8:1.02.181-9.el8.x86_64 1674658507 357918 d9e2da070d6fbecd9a926dd84c8460d4 installed DEBUG util.py:445: python3-amqp-5.0.5-1.el8.noarch 1612181584 379642 d03b0edbe4ea32a59c2919a281d21ade installed DEBUG util.py:445: python3-tempita-0.5.1-25.el8.noarch 1580043369 115145 3e5df4ea59576667fa541ca84b86208f installed DEBUG util.py:445: rpm-4.14.3-26.el8.x86_64 1671621519 2087814 00b0447116988b0cb6cf2c1be423fc87 installed DEBUG util.py:445: python3-msgpack-1.0.2-1.el8.x86_64 1610002087 275464 2233901f49d7d23b3056f1faf373f7d4 installed DEBUG util.py:445: libcroco-0.6.12-4.el8_2.1.x86_64 1599668606 330811 15aa0ca9c1889bdda4537f342f8df60d installed DEBUG util.py:445: python3-extras-1.0.0-10.el8.noarch 1580031252 28356 bfb0035d78c73f2b10b6109b404b6d17 installed DEBUG util.py:445: python3-testtools-2.5.0-3.el8.noarch 1657717723 1551453 51bd816885276d6596d612450d79a481 installed DEBUG util.py:445: python3-netifaces-0.10.6-4.el8.x86_64 1557807838 40169 443140928cf8c98b445cf8ba62f5bf4a installed DEBUG util.py:445: which-2.21-20.el8.x86_64 1679496935 83372 a67294bcd2e9da718a29c9e632e48345 installed DEBUG util.py:445: zlib-devel-1.2.11-25.el8.x86_64 1684348514 141078 76367411174bf2e8c9577ca262b9d2ca installed DEBUG util.py:445: libgpg-error-devel-1.31-1.el8.x86_64 1557538013 200795 139964288d8e4c634dd609f40ef40fe3 installed DEBUG util.py:445: device-mapper-libs-8:1.02.181-9.el8.x86_64 1674658507 415663 26a65edca00a6a00f1310adab9c7c119 installed DEBUG util.py:445: python3-testscenarios-0.5.0-17.el8.noarch 1580053854 105844 4b3f27f4c6aad252b3431f64046de75c installed DEBUG util.py:445: python3-etcd3gw-0.2.5-1.el8.noarch 1585750478 108991 e040598736123fbd599d1768695cffd4 installed DEBUG util.py:445: libdb-5.3.28-42.el8_4.x86_64 1631282784 1903352 80e1135f96aa415c9d975c105d70e8dc installed DEBUG util.py:445: qpid-proton-c-0.35.0-3.el8s.x86_64 1642501376 759570 025d8c01085f93531bebe1fb3605b58a installed DEBUG util.py:445: kmod-25-19.el8.x86_64 1638465389 244190 dced2437316142be60440cf9794c50dd installed DEBUG util.py:445: python3-pyngus-2.3.0-4.el8.noarch 1580200751 192374 220e052f96b4a8bc9c6bbc973700aff8 installed DEBUG util.py:445: python3-importlib-metadata-1.7.0-1.el8.noarch 1595226949 138081 8b88019ece89480da4cd57831fb0cbe7 installed DEBUG util.py:445: python3-keystoneauth1-4.3.1-0.20210315155409.112bcae.el8.noarch 1615823731 2044791 039053d706174ea2c5e8476a994f6b66 installed DEBUG util.py:445: kbd-2.0.4-11.el8.x86_64 1687428901 1623189 b7415c5364e6da6a9d3485b1de69fa76 installed DEBUG util.py:445: python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8.noarch 1668163522 815812 6e4d1eb963a33fcccc01ee4c6681770a installed DEBUG util.py:445: pam-1.3.1-27.el8.x86_64 1687771245 2644059 db8b2518cfacfc548b6d2cbd137b74b0 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: os-prober-1.74-9.el8.x86_64 1629847570 106853 54decc47ed132277a6f4cd42333ae80f installed DEBUG util.py:445: grub2-tools-1:2.02-129.el8.x86_64 1658241039 9265586 d3a1ac52a752f8db88488bd6d016b3b3 installed DEBUG util.py:445: shared-mime-info-1.9-3.el8.x86_64 1557589056 2442451 1d8fd8be23dbda89657c931d08c58c20 installed DEBUG util.py:445: fontconfig-2.13.1-4.el8.x86_64 1629846615 710881 980ad1970c77bcbef9a5f9b90f2f3c24 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-mock-3.0.5-7.el8.noarch 1580362453 159487 8a6ee7f4176cc5df6f33f4cff28ad1eb 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-editor-1.0.4-4.el8.noarch 1579858680 21466 61a4a9bd0255f234b51c324aaadbd692 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: python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faacb0fb.noarch 1620074355 340156 2beb6871e34f6c72488c32fc2a47f02c installed DEBUG util.py:445: python3-psycopg2-2.7.5-7.el8.x86_64 1557808008 557696 6e589ea3762db7e118fb5b551d7621ff installed DEBUG util.py:445: xz-devel-5.2.4-4.el8.x86_64 1656337654 206470 8fa4c5fe5715c5532c06f05c1043dcdd installed DEBUG util.py:445: python3-inotify-0.9.6-13.el8.noarch 1557588626 248598 238d02e2234d77dd821d5ad082255a9c installed DEBUG util.py:445: pcre2-utf16-10.32-3.el8.x86_64 1656337285 599854 a10f7ec8640c63df0e499871a3a9243f installed DEBUG util.py:445: libyaml-0.1.7-5.el8.x86_64 1557586361 136478 7c8bef326f7edfab7928fbaaeee8c652 installed DEBUG util.py:445: python3-cliff-3.7.0-0.20210315123449.117a100.el8.noarch 1615811752 275570 84b18d530b5b438d9e9002a5af85e1c7 installed DEBUG util.py:445: libsepol-devel-2.9-3.el8.x86_64 1629847198 129692 e712b0db004feb93c7fc2b29008675fb installed DEBUG util.py:445: libkadm5-1.18.2-25.el8.x86_64 1691600697 224344 9b9cd804d51023bb83faf4e6d74b4cb3 installed DEBUG util.py:445: keyutils-libs-devel-1.5.10-9.el8.x86_64 1624079346 33454 8e87ab023f520314de7c49a75f5298d9 installed DEBUG util.py:445: gmp-c++-1:6.1.2-10.el8.x86_64 1573237036 55632 f6b279da4fcdd46bef8e2f5317138366 installed DEBUG util.py:445: python3-openstacksdk-0.55.1-0.20220406125402.f09ed4a.el8.noarch 1649250274 4235810 48f2164fc541f7b7fc1a009dec418159 installed DEBUG util.py:445: python-pycadf-common-3.1.1-0.20210315104351.4179996.el8.noarch 1615805086 17480 894619841f7cc31405d8eed3f3a7bb01 installed DEBUG util.py:445: python-oslo-utils-lang-4.8.2-0.20220428092247.a38b56a.el8.noarch 1651138027 15675 57eb254ebd50cf54f3fd23454d87d8d2 installed DEBUG util.py:445: python-oslo-middleware-lang-4.2.1-0.20220225080425.b40ca5f.el8.noarch 1645776478 11821 f3c2425dacb688531f9a277b737fb85b installed DEBUG util.py:445: python-oslo-i18n-lang-5.0.1-0.20210315103856.73187bd.el8.noarch 1615804784 16179 2d0b2032e3b5a6ac0c277f5712732029 installed DEBUG util.py:445: python3-oslo-utils-4.8.2-0.20220428092247.a38b56a.el8.noarch 1651138027 265622 fedec61abb920858909c64dfe456fa5e installed DEBUG util.py:445: python3-oslo-serialization-4.1.1-0.20220225082330.bbe5d5a.el8.noarch 1645777614 75242 524c1282e522fff5aa1dbe3b32ecf419 installed DEBUG util.py:445: python3-keystoneclient-1:4.3.0-0.20220713080823.d5cb761.el8.noarch 1657700086 1181018 180770adb2be75c1f73979425e630362 installed DEBUG util.py:445: python3-pycadf-3.1.1-0.20210315104351.4179996.el8.noarch 1615805086 151246 142e9b3ed59aafe12d97d95e22eff102 installed DEBUG util.py:445: python3-osc-lib-2.3.1-0.20210315174831.2b7a679.el8.noarch 1615830573 242166 d0ebbd395f61c8861e7ead131a846677 installed DEBUG util.py:445: python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.el8.noarch 1665162338 590291 0d231409ae92b061475e69df3cf66f62 installed DEBUG util.py:445: python3-oslo-concurrency-4.4.0-0.20210315114231.7dcf9e9.el8.noarch 1615808639 107808 6b2135266931e47970b886710aeed255 installed DEBUG util.py:445: python3-oslo-messaging-12.7.3-0.20220428091418.5d6fd1a.el8.noarch 1651137675 951791 20a0335513f70d473ad9b03a582b2e52 installed DEBUG util.py:445: python3-oslo-cache-2.7.1-0.20220301090510.d0252f6.el8.noarch 1646125705 161898 4094b09770be32ef5b49ab05b0cf7f1d installed DEBUG util.py:445: python3-oslo-versionedobjects-2.4.1-0.20220225075849.89ff171.el8.noarch 1645776110 273025 abecd0248ad510b078203a7da5e4f276 installed DEBUG util.py:445: python3-ironic-lib-4.6.4-0.20220808090402.27305f0.el8.noarch 1659949783 731996 e5ae4ac5aaabb6fbfb24feec584d257e installed DEBUG util.py:445: python3-oslo-db-tests-8.5.2-0.20221007170041.26fd6fb.el8.noarch 1665162338 778313 1dbf4a704d878c3b18662016857e9ad6 installed DEBUG util.py:445: python3-oslo-upgradecheck-1.3.1-0.20220225074957.9561ecb.el8.noarch 1645775599 48370 91e14a9559f6f1b31e1d7bf7d55fdc40 installed DEBUG util.py:445: python3-scciclient-0.10.2-0.20220802132904.b8e6e34.el8.noarch 1659447244 763174 b56e3a76a84eaa64348a37a1ceb7f84d installed DEBUG util.py:445: python3-tooz-2.8.3-0.20220808091041.73dbe0e.el8.noarch 1659950046 436733 c7e072b69ae872d5361252dd56aa07bc installed DEBUG util.py:445: python3-glanceclient-1:3.3.0-0.20210315220313.f802c71.el8.noarch 1615845848 554745 158ab1795d3fc68a74e58ac01ed29640 installed DEBUG util.py:445: openssl-devel-1:1.1.1k-9.el8.x86_64 1676684453 3549006 cd69db8e373e270103dca6a77d4c0476 installed DEBUG util.py:445: python3-ddt-1.2.1-4.el8.noarch 1579760586 21135 9450cd96ce06c80f739402a9fb396d09 installed DEBUG util.py:445: python3-pecan-1.3.3-2.el8.noarch 1606209068 1408575 3c429ad587a48a606adde06182faad4c installed DEBUG util.py:445: python3-automaton-2.3.1-0.20220228091836.4a3e539.el8.noarch 1646040068 119334 e0eac59f84a6ff3126400e9046e99c21 installed DEBUG util.py:445: python3-os-traits-2.5.0-0.20210315123947.ac1b39e.el8.noarch 1615812053 71258 5868b8f283b1baef23ee379441fb0ad2 installed DEBUG util.py:445: platform-python-devel-3.6.8-55.el8.x86_64 1691689248 674013 7ed54939372f5ed8112912636cf146b5 installed DEBUG util.py:445: python3-pip-9.0.3-23.el8.noarch 1691669373 2870 39dc1640e92be166832dd5edc1804618 installed DEBUG util.py:445: libX11-1.6.8-6.el8.x86_64 1688652360 1344056 0d7135a37b81a574693e50e8589d188b installed DEBUG util.py:445: annobin-11.13-2.el8.x86_64 1689004560 1005406 258c7f2583e2b2cd59412ccbb4ed502b 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-smi-0.3.4-6.el8.noarch 1580181712 536962 d56db123046f485291f6be93cfa1267e installed DEBUG util.py:445: python3-retrying-1.3.3-1.el8.noarch 1606208641 43199 0fe0bea3183ebef61f6106ba7cb6fc45 installed DEBUG util.py:445: python3-routes-2.4.1-12.el8.noarch 1580061445 465045 98369ece14da525e45d19e689942494b installed DEBUG util.py:445: python3-pyrsistent-0.17.3-1.el8.x86_64 1605885889 396633 d3f2200725975441c9b5cf7b195cd3eb installed DEBUG util.py:445: python3-pyperclip-1.8.0-2.el8.noarch 1599555843 68899 7e8afc344a375e43f241912b3f4459de installed DEBUG util.py:445: python3-six-1.15.0-2.el8.noarch 1599485653 106402 57ee0a6395cfc07e0bcf4bb069a38bb4 installed DEBUG util.py:445: python3-munch-2.5.0-3.el8.noarch 1599555654 56699 6cabd324994f9ae42d055481ae082cc2 installed DEBUG util.py:445: python3-idna-2.5-5.el8.noarch 1557588568 521503 d78a510e3975b98c8d254227e8674a17 installed DEBUG util.py:445: python-rpm-macros-3-45.el8.noarch 1680539618 4325 6c6fb582c6e7a478e864dd17583a1f84 installed DEBUG util.py:445: python3-logutils-0.3.5-11.el8.noarch 1579773083 129309 b4640e209c61deb4380f7e72f7b4d5af installed DEBUG util.py:445: python3-pygments-2.2.0-22.module_el8.5.0+764+71fa3b33.noarch 1620317703 7786043 ae85cdfb9dbf4cdfa011ec227e949d86 installed DEBUG util.py:445: python3-setuptools-wheel-39.2.0-7.el8.noarch 1674590029 347735 5e62a2f36d6b9851be753cb0542736ec installed DEBUG util.py:445: python3-secretstorage-3.1.1-4.el8.noarch 1580361026 90295 0569bd1de49dddc74d8f627e10283ef9 installed DEBUG util.py:445: libXft-2.3.3-1.el8.x86_64 1592328474 132456 98a6c3804c03d590f4d9c7c95e404cc0 installed DEBUG util.py:445: python3-future-0.18.2-3.el8.noarch 1580101451 3346137 bb5545cfb3fe086a8c689921420a541f installed DEBUG util.py:445: urw-base35-gothic-fonts-20170801-10.el8.noarch 1557812133 1216672 8ad6b1809fd9281e8207ed1461f2b13e installed DEBUG util.py:445: publicsuffix-list-dafsa-20180723-1.el8.noarch 1557535917 64502 8ce7a82bce196a11a42960b007ef0867 installed DEBUG util.py:445: python3-cssselect-0.9.2-13.el8.noarch 1580353461 144960 0d30ec60e1a3e65df80fd3817555678a installed DEBUG util.py:445: urw-base35-p052-fonts-20170801-10.el8.noarch 1557812133 1557171 5b3ff8d7697534b661d9c1f860da20a8 installed DEBUG util.py:445: ocaml-srpm-macros-5-4.el8.noarch 1557802444 737 287a7361faafcb3820cffcce8958f73b installed DEBUG util.py:445: python3-bcrypt-3.1.7-3.el8.x86_64 1579944037 91675 b97f12aeb6948d93e33bf759dacff516 installed DEBUG util.py:445: libbabeltrace-1.5.4-4.el8.x86_64 1648112888 546483 73e07dada814c02ba5df126faf95da8d installed DEBUG util.py:445: kbd-misc-2.0.4-11.el8.noarch 1687429015 2549569 370310eeb7e1aa02a16be0cab2842bbc installed DEBUG util.py:445: python3-webencodings-0.5.1-6.el8.noarch 1557808322 73578 12c558689a939dd3db86f5b32ea3d0e1 installed DEBUG util.py:445: emacs-filesystem-1:26.1-11.el8.noarch 1681329593 0 faf639ce481644e5bd7adf33d00c4d36 installed DEBUG util.py:445: python3-webtest-2.0.35-3.el8.noarch 1599578942 297971 fa3ef0aa6cf845163f3aac0eac7809e5 installed DEBUG util.py:445: ima-evm-utils-1.3.2-12.el8.x86_64 1614063802 137649 8f714224897bee9766d89cab949e4a1b installed DEBUG util.py:445: setup-2.12.2-9.el8.noarch 1669777603 724747 eb850404b4d93e697113d280b63f6eec installed DEBUG util.py:445: python3-jmespath-0.9.0-11.el8.noarch 1557807545 119891 acc9fe266f7f9c0cd26e1729effbb2d0 installed DEBUG util.py:445: rpm-build-libs-4.14.3-26.el8.x86_64 1671621519 216160 0a6c9fef6d78472eef87a7bb5bcccf7d installed DEBUG util.py:445: pcre2-10.32-3.el8.x86_64 1656337285 656742 7b0e49fbc2a80d378af0f9d5e06f212f installed DEBUG util.py:445: cmake-filesystem-3.20.2-5.el8.x86_64 1675871876 0 7b58fd101866746af8f197157d62c45a installed DEBUG util.py:445: pcre2-utf32-10.32-3.el8.x86_64 1656337285 583438 a9357973bbf84014439ab6b63fac788d installed DEBUG util.py:445: libsepol-2.9-3.el8.x86_64 1629847198 761624 3f85cc6fc6a3cbe88ab0400ea87e46fa installed DEBUG util.py:445: python3-pyyaml-5.4.1-2.el8.x86_64 1614068687 701061 3c205dae0b86376e3fa78875b4f9ed71 installed DEBUG util.py:445: python3-cffi-1.13.2-1.el8.x86_64 1579942955 1061179 19751abd44b8cb04437a3b2cdec1dbe4 installed DEBUG util.py:445: bzip2-libs-1.0.6-26.el8.x86_64 1557535203 77229 dd9abf1cc65154142a808c839f4dda55 installed DEBUG util.py:445: libselinux-devel-2.9-8.el8.x86_64 1670915474 192379 c6824252dea3bb87add2d2819c78639d installed DEBUG util.py:445: python3-requests-2.25.1-1.el8.noarch 1615370609 390169 029424c3156bf041a00641cdfc97e812 installed DEBUG util.py:445: libpng-2:1.6.34-5.el8.x86_64 1557585796 235304 de6b9bd5cb672b910a696870cb3364ab installed DEBUG util.py:445: krb5-devel-1.18.2-25.el8.x86_64 1691600697 1128086 7d67eccd8c5d9bf39d24b74a6c76ffc7 installed DEBUG util.py:445: python3-babel-2.5.1-7.el8.noarch 1626973605 20921752 879f27a4399083674fedae88e51a7d15 installed DEBUG util.py:445: libgpg-error-1.31-1.el8.x86_64 1557538013 902818 e84b78135beff56ee4835fed39d7401c installed DEBUG util.py:445: python3-os-client-config-2.1.0-0.20210315163025.bc96c23.el8.noarch 1615825892 204155 fe26728e6983fc461a3cdaa508ec8d0e installed DEBUG util.py:445: python3-imagesize-1.0.0-2.el8.noarch 1557807838 16572 c401f76e1680146f2428e7626ce14690 installed DEBUG util.py:445: libzstd-1.4.5-6.el8.x86_64 1600319865 890309 e7092f20692df73b0872788240cb4f77 installed DEBUG util.py:445: python-oslo-policy-lang-3.7.1-0.20220119091831.639b471.el8.noarch 1642584082 14081 53101d5b853432e6c881c5f2b6423860 installed DEBUG util.py:445: python3-sphinx-theme-alabaster-0.7.12-7.el8.noarch 1579799425 38754 bcf9faa497a1e17b15a245c5223c5924 installed DEBUG util.py:445: expat-2.2.5-11.el8.x86_64 1673341773 315340 7a724040b0697f7e0459c9c0154dbdbc installed DEBUG util.py:445: python3-oslo-i18n-5.0.1-0.20210315103856.73187bd.el8.noarch 1615804784 184307 6962d4b3140302281ec13708a23ef741 installed DEBUG util.py:445: python3-sphinxcontrib-jsmath-1.0.1-0.1.5.el8.noarch 1580215753 12139 df99bb103744ea3fb658869e0d12fee9 installed DEBUG util.py:445: libgcrypt-1.8.5-7.el8.x86_64 1656335846 1269718 2269a19fc635d6e16b3988880918544c installed DEBUG util.py:445: python3-oslo-log-4.4.0-0.20210315105132.9b29c90.el8.noarch 1615805583 166201 ed35fb604e5570ea2439e365474a20a6 installed DEBUG util.py:445: openjpeg2-2.4.0-5.el8.x86_64 1659783982 386040 5641a0f14e5cbce8bb427aa8863d0e06 installed DEBUG util.py:445: sed-4.5-5.el8.x86_64 1634320754 765142 14c1532e925c87f63bc1f647127f98ab installed DEBUG util.py:445: python3-oslo-middleware-4.2.1-0.20220225080425.b40ca5f.el8.noarch 1645776478 156847 4b8b3bbfa55964fcecc1b3dea6727b8b installed DEBUG util.py:445: pango-1.42.4-8.el8.x86_64 1623359101 789346 56e287095e23061e4e53cf69b4fc7ad1 installed DEBUG util.py:445: libidn2-2.2.0-1.el8.x86_64 1573240114 287762 206b757710d3924958eeb8bd423243bd installed DEBUG util.py:445: python-oslo-concurrency-lang-4.4.0-0.20210315114231.7dcf9e9.el8.noarch 1615808639 18833 2792799f43479f75a636289ee6fe8011 installed DEBUG util.py:445: graphviz-2.40.1-44.el8.x86_64 1677727140 8258887 7067703e9d3f333a25ea2d3895dba200 installed DEBUG util.py:445: libSM-1.2.3-1.el8.x86_64 1557799051 93427 47f227b29e3abb1260b8f1f178b588ca installed DEBUG util.py:445: python-oslo-cache-lang-2.7.1-0.20220301090510.d0252f6.el8.noarch 1646125705 28475 d896773164ff4b78a4a738601b99dc62 installed DEBUG util.py:445: python3-eventlet-0.30.0-1.1.el8.noarch 1631542025 2564870 fe6f9e60e92f33e7b626b93282c3630a installed DEBUG util.py:445: libcap-ng-0.7.11-1.el8.x86_64 1623077234 51470 0cb04ab8bb58a307ae9ae862d5a7c8b0 installed DEBUG util.py:445: python3-osprofiler-3.4.0-0.20210315111211.5d82a02.el8.noarch 1615806791 471470 2eeaff96da4c9314e39c8ea63db12a30 installed DEBUG util.py:445: make-1:4.2.1-11.el8.x86_64 1635253659 1436080 f286aaf14214bf70a276d01984f5be36 installed DEBUG util.py:445: libmpc-1.1.0-9.1.el8.x86_64 1605564175 127093 73998427af4ab3f697010e42c96f4ce0 installed DEBUG util.py:445: python3-neutronclient-7.3.1-0.20221108112936.29a9f5e.el8.noarch 1667907487 1470671 92d33ed05ee29d745c56caf80633cc75 installed DEBUG util.py:445: unzip-6.0-46.el8.x86_64 1643346578 424013 f5f7c13a930b6f1d06155de169cfb0e2 installed DEBUG util.py:445: python3-oslo-reports-2.2.0-0.20210315105955.bc631ae.el8.noarch 1615806058 159756 180329cfbc3e28e2a933fce886d30e68 installed DEBUG util.py:445: cpio-2.12-11.el8.x86_64 1632978482 967637 8588822b2d9e7adde96867cdab861ab1 installed DEBUG util.py:445: gmp-devel-1:6.1.2-10.el8.x86_64 1573237036 345135 c55511b95b3f42b940fd9f4cf286ce86 installed DEBUG util.py:445: python3-pip-wheel-9.0.3-23.el8.noarch 1691669373 899549 73be7b2a5d232e1e5b26e2a845fbfb57 installed DEBUG util.py:445: p11-kit-trust-0.23.22-1.el8.x86_64 1610439813 471705 8a956eb5d4f6d6a055b4efaf3b9f62c7 installed DEBUG util.py:445: libxslt-devel-1.1.32-6.el8.x86_64 1602701861 2552187 c79cfb1bbbcd6593ec14f948658c35d2 installed DEBUG util.py:445: ncurses-base-6.1-10.20180224.el8.noarch 1692099175 290089 d4a58377409484354c21c508ec09a4f4 installed DEBUG util.py:445: lcms2-2.9-2.el8.x86_64 1557795901 399313 23d5f2bf5897a440de253fe694e0f57f installed DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1b960.el8.noarch 1646042517 106225 b209f9e629ff75f454db331f7913d71e installed DEBUG util.py:445: python3-libs-3.6.8-55.el8.x86_64 1691689248 32567255 199abab9e14b742d2943eb88441c9161 installed DEBUG util.py:445: libcurl-7.61.1-33.el8.x86_64 1688043159 597624 23d38a95486079adfe0b2a32d924dd40 installed DEBUG util.py:445: tar-2:1.30-9.el8.x86_64 1676684501 2876653 2b5dc1cc4919b11169eb6d3f7d5cc573 installed DEBUG util.py:445: dbus-common-1:1.12.8-26.el8.noarch 1687176686 11044 c398e2fbd21b71477a1bde723fb19788 installed DEBUG util.py:445: nettle-3.4.1-7.el8.x86_64 1626361600 572273 cc09093997998b6a7fe5d42c13d2a331 installed DEBUG util.py:445: dbus-1:1.12.8-26.el8.x86_64 1687176654 0 9de97df55e6b31f023f0df7e8607a75f installed DEBUG util.py:445: coreutils-common-8.30-15.el8.x86_64 1674052044 9896370 7e1477872e149f9d47fae742c72781b4 installed DEBUG util.py:445: less-530-1.el8.x86_64 1557584772 344874 c95ece51b133ab6ce794a40e777072d2 installed DEBUG util.py:445: json-c-0.13.1-3.el8.x86_64 1636621603 69290 4fdfb4f2df790d25d080cf3834ddf07b installed DEBUG util.py:445: ncurses-6.1-10.20180224.el8.x86_64 1692099122 588988 81e266e9746a142c3fe489aff4519284 installed DEBUG util.py:445: libipt-1.6.1-8.el8.x86_64 1557797925 108543 68edc160e21686087d8486cdf060073e installed DEBUG util.py:445: binutils-2.30-123.el8.x86_64 1690288815 24945550 4d7793ee904a663e479a61c1f5e1654c installed DEBUG util.py:445: pkgconf-pkg-config-1.4.2-1.el8.x86_64 1557540110 3094 6a5f9694de9b98ca71ed47b605ba977a installed DEBUG util.py:445: systemd-libs-239-78.el8.x86_64 1692716430 4690214 ec75fc7a1f117dba10311e9d6fa0eaa9 installed DEBUG util.py:445: systemd-pam-239-78.el8.x86_64 1692716430 944464 14dbf0d5d1a6b4a8ae9fad7c8a9f2196 installed DEBUG util.py:445: npth-1.5-4.el8.x86_64 1557539615 47909 b944c570e2db54dd8f8d3ab4d7b7990d installed DEBUG util.py:445: procps-ng-3.3.15-14.el8.x86_64 1692107128 901092 4f75be43f214703b14ddab11c2586dd1 installed DEBUG util.py:445: libXext-1.3.4-1.el8.x86_64 1592335988 91982 110d22c488501f2d497a2497d2fd3b82 installed DEBUG util.py:445: libXfixes-5.0.3-7.el8.x86_64 1557799785 29263 56d72ffa985b1d479bf170e442b840e9 installed DEBUG util.py:445: libXi-1.7.10-1.el8.x86_64 1592338400 75067 925052072a637a4b57e5d7fad2d32777 installed DEBUG util.py:445: cups-libs-1:2.2.6-54.el8.x86_64 1694593154 948100 659e1a8a92b74486fd7dcd858b8ce42b installed DEBUG util.py:445: libXxf86misc-1.0.4-1.el8.x86_64 1557800213 32012 c1728eb43ebd6d96c74380d3ec4c60c1 installed DEBUG util.py:445: libthai-0.1.27-2.el8.x86_64 1557799230 774997 801f8cc0e2979cb4c0fd989e1ff4f752 installed DEBUG util.py:445: libtiff-4.0.9-29.el8.x86_64 1695292625 517761 2bf25b2b54cc3e7942504cf8d9db088d installed DEBUG util.py:445: xorg-x11-server-utils-7.7-27.el8.x86_64 1557814482 502730 4563ac1d6facd98936be75bc47d27bc6 installed DEBUG util.py:445: glibc-common-2.28-236.el8.7.x86_64 1696598190 7997156 6dd4a048b13fe8928eef0f18e3d89439 installed DEBUG util.py:445: cyrus-sasl-lib-2.1.27-6.el8_5.x86_64 1645712177 726186 00c2948c2521fc542071f445b4766d64 installed DEBUG util.py:445: libstdc++-8.5.0-21.el8.x86_64 1696451726 1857708 8942af220edaaf5666a7a9d4491c0a9d installed DEBUG util.py:445: grub2-tools-minimal-1:2.02-129.el8.x86_64 1658241039 772858 82a6c4de92c3b9e8a12168603ded3cdb installed DEBUG util.py:445: glibc-headers-2.28-236.el8.7.x86_64 1696598190 2031942 ada2e1824e2707b0007aa41dba827cdf installed DEBUG util.py:445: grubby-8.40-48.el8.x86_64 1686661445 63591 040210d5ea6191853cc97d5b1d5649b1 installed DEBUG util.py:445: pixman-0.38.4-4.el8.x86_64 1696414732 697399 a0f0a963b4178a81f9831c8fc1b19f2d installed DEBUG util.py:445: libdb-utils-5.3.28-42.el8_4.x86_64 1631282784 369615 6770948cf9ead54ea1e58bdd81aa3e07 installed DEBUG util.py:445: python3-netaddr-0.7.19-8.el8.noarch 1557807764 8801737 eaede48359fa94bd9066db32354aea1d installed DEBUG util.py:445: python3-pyOpenSSL-19.0.0-1.el8.noarch 1605563899 559518 ee81af96a65dbf35591f0b29f7927abb installed DEBUG util.py:445: cracklib-2.9.6-15.el8.x86_64 1557533913 239047 3ced50b8ce5c91849d67c8e6f75f5cd1 installed DEBUG util.py:445: python3-wrapt-1.12.1-3.el8.x86_64 1599579132 162032 b2d3295977246a84b33dd7f19a7113c6 installed DEBUG util.py:445: libtirpc-1.1.4-8.el8.x86_64 1660021681 228734 f29ffcbd28e5a26ab435ede86dbefb2b installed DEBUG util.py:445: python3-vine-5.0.0-2.el8.noarch 1605087743 47750 0b1ade1a738529076f23a758df08f731 installed DEBUG util.py:445: python3-paste-3.5.0-1.el8.noarch 1604390372 2677039 cce83f7ce95304d30f224dd99ab7f6db installed DEBUG util.py:445: gettext-libs-0.19.8.1-17.el8.x86_64 1573236536 1612648 8967e0fd86f922ac3fe079bb64ec85c4 installed DEBUG util.py:445: python3-fixtures-3.0.0-16.el8.noarch 1580053087 335675 d73902680734761709ec42b903d521bb installed DEBUG util.py:445: python3-attrs-17.4.0-6.el8.noarch 1557807350 155889 1bf2183e2f19405ca886ea3c72c19f84 installed DEBUG util.py:445: coreutils-8.30-15.el8.x86_64 1674052044 6121280 33a926fa283765ef4a89be7bbad7994d installed DEBUG util.py:445: libgcrypt-devel-1.8.5-7.el8.x86_64 1656335846 236280 eee807e734e8c7739f1046a533640e1c installed DEBUG util.py:445: python3-pyghmi-1.5.29-1.el8.noarch 1629915778 1541440 69633533801a22c0feeb61da43436c74 installed DEBUG util.py:445: rpm-libs-4.14.3-26.el8.x86_64 1671621519 735448 6be040d364179dbdc308389c3a9801bc installed DEBUG util.py:445: python3-zipp-3.4.0-1.el8.noarch 1604507418 21812 74f88a1ac62d6581ecc79bdda35b69d0 installed DEBUG util.py:445: trousers-lib-0.3.15-1.el8.x86_64 1605566220 487077 423e3ba3a61be1cc581d0ba03d0e229d installed DEBUG util.py:445: python3-dogpile-cache-1.1.5-1.1.el8.noarch 1646727834 423161 da67fdaee30c3d1cc042d9c1a5221356 installed DEBUG util.py:445: libpwquality-1.4.4-6.el8.x86_64 1676684086 396846 2cdc0ef4b9ba08d19052063568f1488a installed DEBUG util.py:445: python3-wcwidth-0.2.5-2.el8.noarch 1599579893 552266 a3f54468628032600541c12ddf200bc6 installed DEBUG util.py:445: python3-sqlparse-0.3.1-3.el8.noarch 1599567427 269967 0a33347d561700f749f44b5651e95f3d installed DEBUG util.py:445: glib2-2.56.4-161.el8.x86_64 1672981785 12279992 f3c6b3d5012880ec327da3aa162a24e9 installed DEBUG util.py:445: python3-rfc3986-1.4.0-3.el8.noarch 1600871175 179368 fef35f95ed8f3f4c9cf3d216d2e2e676 installed DEBUG util.py:445: python3-redis-3.5.3-1.el8.noarch 1606209246 583372 ee2338f18d1da9adcae40d187485b558 installed DEBUG util.py:445: gdk-pixbuf2-2.36.12-5.el8.x86_64 1573236241 2657576 3006826ddf4e875c1f21a9da6579bd20 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-wallaby-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=1022gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.hem1r72r:/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.hem1r72r:/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', 'c5bff3c9f9174232981c00cbb6429aac', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.hem1r72r:/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.bE8pjM 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-17.1.1.dev10 DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-17.1.1.dev10-0.20231012031905.c31db88.tar.gz DEBUG util.py:445: + /usr/bin/tar -xof - DEBUG util.py:445: + STATUS=0 DEBUG util.py:445: + '[' 0 -ne 0 ']' DEBUG util.py:445: + cd ironic-17.1.1.dev10 DEBUG util.py:445: + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . DEBUG util.py:445: Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.mZHQma 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: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-17.1.1.dev10 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/tests DEBUG util.py:445: creating build/lib/ironic/tests/unit 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/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: creating build/lib/ironic/api 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/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/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/api DEBUG util.py:445: creating build/lib/ironic/tests/unit/api/controllers 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/tests/unit/db 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_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: 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/iscsi.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: 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: 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/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: 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_iscsi_deploy.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_snmp.py -> build/lib/ironic/tests/unit/drivers/modules 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_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/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/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/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: 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: 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/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/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_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: 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: 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/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/status.py -> build/lib/ironic/cmd 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/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/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/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/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/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/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_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/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/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/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/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/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/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_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: 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/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/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/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/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/__init__.py -> build/lib/ironic DEBUG util.py:445: copying ironic/version.py -> build/lib/ironic 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: 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/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/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/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: 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/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: 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/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/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: 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/iscsi_deploy.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/snmp.py -> build/lib/ironic/drivers/modules 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/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/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: 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/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: 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/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/raid_config_schema.json -> build/lib/ironic/drivers 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: 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: 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: 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/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/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/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/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/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: 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: copying ironic/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 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/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/master_grub_cfg.txt -> 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: 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.rxtPbB DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + '[' /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64 '!=' / ']' DEBUG util.py:445: + rm -rf /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64 DEBUG util.py:443: ++ dirname /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64 DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT DEBUG util.py:445: + mkdir /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64 DEBUG util.py:445: + cd ironic-17.1.1.dev10 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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6 DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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_iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: copying build/lib/ironic/tests/unit/api/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: copying build/lib/ironic/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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_wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests DEBUG util.py:445: copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/functional DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/json_samples DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/controllers/version.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: copying build/lib/ironic/conf/iscsi.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: copying build/lib/ironic/drivers/modules/ansible/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db DEBUG util.py:445: copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service DEBUG util.py:445: copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic DEBUG util.py:445: copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py to test_iscsi_deploy.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/__init__.py to __init__.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/iscsi.py to iscsi.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/iscsi_deploy.py to iscsi_deploy.cpython-36.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking/checks.py to checks.cpython-36.pyc DEBUG util.py:445: writing byte-compilation script '/tmp/tmpwovwbugo.py' DEBUG util.py:445: /usr/libexec/platform-python /tmp/tmpwovwbugo.py DEBUG util.py:445: removing /tmp/tmpwovwbugo.py DEBUG util.py:445: running install_data DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/etc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/etc/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/python3.6/site-packages/ironic-17.1.1.dev10-py3.6.egg-info DEBUG util.py:445: running install_scripts DEBUG util.py:445: Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/bin DEBUG util.py:445: Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/etc/logrotate.d/openstack-ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/lib/systemd/system DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/etc/sudoers.d DEBUG util.py:445: + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/etc/sudoers.d/ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/var/lib/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/var/log/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64//etc/ironic/rootwrap.conf DEBUG util.py:445: + mv /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64//etc/ironic/rootwrap.d/ DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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 17.1.1-0.20231012031905.c31db88.el8 --unique-debug-suffix -17.1.1-0.20231012031905.c31db88.el8.x86_64 --unique-debug-src-base openstack-ironic-17.1.1-0.20231012031905.c31db88.el8.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/ironic-17.1.1.dev10 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-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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.UQZQbn DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-17.1.1.dev10 DEBUG util.py:445: + PYTHON=/usr/libexec/platform-python DEBUG util.py:445: + stestr run DEBUG util.py:445: 2023-10-12 03:26:00.268 3799 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2023-10-12 03:26:00.270 3799 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2023-10-12 03:26:00.275 3799 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2023-10-12 03:26:00.276 3799 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2023-10-12 03:26:00.276 3799 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2023-10-12 03:26:03.344 3798 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2023-10-12 03:26:03.358 3798 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2023-10-12 03:26:03.364 3798 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2023-10-12 03:26:03.364 3798 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2023-10-12 03:26:03.365 3798 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2023-10-12 03:26:03.768 3800 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2023-10-12 03:26:03.770 3800 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2023-10-12 03:26:03.811 3800 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2023-10-12 03:26:03.812 3800 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2023-10-12 03:26:03.813 3800 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2023-10-12 03:26:04.122 3801 INFO keyring.backend [-] Loading KWallet DEBUG util.py:445: 2023-10-12 03:26:04.124 3801 INFO keyring.backend [-] Loading SecretService DEBUG util.py:445: 2023-10-12 03:26:04.129 3801 INFO keyring.backend [-] Loading Windows DEBUG util.py:445: 2023-10-12 03:26:04.129 3801 INFO keyring.backend [-] Loading chainer DEBUG util.py:445: 2023-10-12 03:26:04.130 3801 INFO keyring.backend [-] Loading macOS DEBUG util.py:445: 2023-10-12 03:26:12.957 3800 INFO alembic.runtime.migration [req-fc7fe8dd-ba47-4e11-9e35-bbd4dd5c3938 - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-10-12 03:26:12.958 3800 INFO alembic.runtime.migration [req-fc7fe8dd-ba47-4e11-9e35-bbd4dd5c3938 - - - - -] 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: 2023-10-12 03:26:13.280 3799 INFO alembic.runtime.migration [req-ba2e5414-c1f6-4df8-bcab-0626b89a0262 - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-10-12 03:26:13.282 3799 INFO alembic.runtime.migration [req-ba2e5414-c1f6-4df8-bcab-0626b89a0262 - - - - -] 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 -> c0455649680c DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> c0455649680c DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.542648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [1.223072s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.049409s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.061832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.078424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.098159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.084992s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.098638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.240128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.281982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.230887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.208289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.163158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.151417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.110656s] ... 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 -> c0455649680c DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.140668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.151610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.186642s] ... ok DEBUG util.py:445: 2023-10-12 03:26:14.560 3798 INFO alembic.runtime.migration [req-64667eff-359a-4399-af05-6295291ebe12 - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-10-12 03:26:14.562 3798 INFO alembic.runtime.migration [req-64667eff-359a-4399-af05-6295291ebe12 - - - - -] Will assume non-transactional DDL. DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.420172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.290238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.232107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.149139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.065812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.167354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.222078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.279180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.074746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.081507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.212213s] ... ok DEBUG util.py:445: 2023-10-12 03:26:15.340 3801 INFO alembic.runtime.migration [req-3ce233c0-449f-44b4-951b-c2fc41007f9a - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2023-10-12 03:26:15.351 3801 INFO alembic.runtime.migration [req-3ce233c0-449f-44b4-951b-c2fc41007f9a - - - - -] 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.TestListAllocations.test_allocation_get_all_non_admin [0.210727s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> c0455649680c DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.119268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.517497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.107833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.145877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.063557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.111824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.081574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.112679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.061748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.198609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.201309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.121019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.144947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.189143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.118915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.224602s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.168470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.208285s] ... ok DEBUG util.py:445: DELETE: /v1/allocations/c2e87fa8-b1da-45e9-8494-0316adda127d 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: 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-90d1cd14-a3ac-4dcf-8ccf-fe4f02f12cab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '0e4cb8ad-75c6-4690-961e-42b5e1fbcf71', 'created_at': '2023-10-12T03:26:15.093258+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/0e4cb8ad-75c6-4690-961e-42b5e1fbcf71', 'rel': 'self'}, {'href': 'http://localhost/allocations/0e4cb8ad-75c6-4690-961e-42b5e1fbcf71', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-7d95fea3-cf5c-4e5c-945b-c56ece03574e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?owner=12345 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '3368f0a9-e924-4469-844d-a0da2df6f930', 'created_at': '2023-10-12T03:26:15.276860+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/3368f0a9-e924-4469-844d-a0da2df6f930', 'rel': 'self'}, {'href': 'http://localhost/allocations/3368f0a9-e924-4469-844d-a0da2df6f930', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'eeda0b07-1ed5-4ac4-994b-336d92d4e84d', 'created_at': '2023-10-12T03:26:15.278014+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/eeda0b07-1ed5-4ac4-994b-336d92d4e84d', 'rel': 'self'}, {'href': 'http://localhost/allocations/eeda0b07-1ed5-4ac4-994b-336d92d4e84d', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '10933533-da73-492d-b539-8b12e1aef791', 'created_at': '2023-10-12T03:26:15.279128+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/10933533-da73-492d-b539-8b12e1aef791', 'rel': 'self'}, {'href': 'http://localhost/allocations/10933533-da73-492d-b539-8b12e1aef791', 'rel': 'bookmark'}], 'node_uuid': None}]} 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/7c773251-7df4-42f2-a972-c03371934813', 'rel': 'self'}, {'href': 'http://localhost/allocations/7c773251-7df4-42f2-a972-c03371934813', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations/1cf80961-8b0f-4a37-80d8-1fb7acd735c1?fields=resource_class,extra {} DEBUG util.py:445: GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/1cf80961-8b0f-4a37-80d8-1fb7acd735c1', 'rel': 'self'}, {'href': 'http://localhost/allocations/1cf80961-8b0f-4a37-80d8-1fb7acd735c1', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations/2fb0fcc0-68a5-4a82-82ec-0196a5d36a5e.json {} DEBUG util.py:445: GOT:{'uuid': '2fb0fcc0-68a5-4a82-82ec-0196a5d36a5e', 'created_at': '2023-10-12T03:26:15.627762+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/2fb0fcc0-68a5-4a82-82ec-0196a5d36a5e', 'rel': 'self'}, {'href': 'http://localhost/allocations/2fb0fcc0-68a5-4a82-82ec-0196a5d36a5e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '44e6b61e-85ce-4e44-9cb2-9d17a08b348e', 'created_at': '2023-10-12T03:26:15.729649+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/44e6b61e-85ce-4e44-9cb2-9d17a08b348e', 'rel': 'self'}, {'href': 'http://localhost/allocations/44e6b61e-85ce-4e44-9cb2-9d17a08b348e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0578ff32-e28c-4e44-a5c1-8c14bd515584', 'created_at': '2023-10-12T03:26:15.731346+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/0578ff32-e28c-4e44-a5c1-8c14bd515584', 'rel': 'self'}, {'href': 'http://localhost/allocations/0578ff32-e28c-4e44-a5c1-8c14bd515584', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '1753a607-1e72-4c5a-b1ac-70f124d7df63', 'created_at': '2023-10-12T03:26:15.732460+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/1753a607-1e72-4c5a-b1ac-70f124d7df63', 'rel': 'self'}, {'href': 'http://localhost/allocations/1753a607-1e72-4c5a-b1ac-70f124d7df63', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '85dfa94f-c6da-42ab-aead-aab14b83dc80', 'created_at': '2023-10-12T03:26:15.733613+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/85dfa94f-c6da-42ab-aead-aab14b83dc80', 'rel': 'self'}, {'href': 'http://localhost/allocations/85dfa94f-c6da-42ab-aead-aab14b83dc80', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7dc3531f-aaa5-4f66-9646-d21042e7a456', 'created_at': '2023-10-12T03:26:15.734727+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/7dc3531f-aaa5-4f66-9646-d21042e7a456', 'rel': 'self'}, {'href': 'http://localhost/allocations/7dc3531f-aaa5-4f66-9646-d21042e7a456', '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': '3061a964-a69e-4da3-8246-d6acf2bffe6d', 'created_at': '2023-10-12T03:26:15.899766+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/3061a964-a69e-4da3-8246-d6acf2bffe6d', 'rel': 'self'}, {'href': 'http://localhost/allocations/3061a964-a69e-4da3-8246-d6acf2bffe6d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'bd827a84-fa19-4805-9cc9-122735d81f1c', 'created_at': '2023-10-12T03:26:15.897497+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/bd827a84-fa19-4805-9cc9-122735d81f1c', 'rel': 'self'}, {'href': 'http://localhost/allocations/bd827a84-fa19-4805-9cc9-122735d81f1c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'dd24c511-69b5-49e1-92cd-27786449d571', 'created_at': '2023-10-12T03:26:15.898658+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/dd24c511-69b5-49e1-92cd-27786449d571', 'rel': 'self'}, {'href': 'http://localhost/allocations/dd24c511-69b5-49e1-92cd-27786449d571', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]}{0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.201880s] ... ok DEBUG util.py:445: DELETE: /v1/allocations/15c9e435-e145-477c-a8c4-4ebc390240f4 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f61a1870-6015-4482-b55d-6b04acd90930 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-167f9caf-5c08-416b-9630-d5ec9a6a0a6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a5b8b042-b03d-4903-a75a-89c640e80893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/nodes/95e7ec62-9ceb-4e05-b49f-7f17ee67b46c/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-43d3e0e6-35f6-4dac-ac41-a6d35726b968 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 95e7ec62-9ceb-4e05-b49f-7f17ee67b46c was not found\", \"debuginfo\": null}"} 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/allocations/eab101c3-4ea8-447c-9b4a-7b371c244c6c DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3520bb28-3bf5-4c35-90f6-a66f2c4d7b4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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:{'allocations': [{'uuid': '6febbfcd-8684-42c2-ab1b-be5c640f155a', 'created_at': '2023-10-12T03:26:15.274179+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/6febbfcd-8684-42c2-ab1b-be5c640f155a', 'rel': 'self'}, {'href': 'http://localhost/allocations/6febbfcd-8684-42c2-ab1b-be5c640f155a', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '208fc60e-0d9b-4754-9f87-3f2c4356143a', 'created_at': '2023-10-12T03:26:15.329412+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/208fc60e-0d9b-4754-9f87-3f2c4356143a', 'rel': 'self'}, {'href': 'http://localhost/allocations/208fc60e-0d9b-4754-9f87-3f2c4356143a', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '167e191f-6d76-4a4e-a09e-9194d1b809f8', 'created_at': '2023-10-12T03:26:15.332866+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/167e191f-6d76-4a4e-a09e-9194d1b809f8', 'rel': 'self'}, {'href': 'http://localhost/allocations/167e191f-6d76-4a4e-a09e-9194d1b809f8', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'fa9fd52f-1298-491d-805d-a6ca086487f0', 'created_at': '2023-10-12T03:26:15.344529+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/fa9fd52f-1298-491d-805d-a6ca086487f0', 'rel': 'self'}, {'href': 'http://localhost/allocations/fa9fd52f-1298-491d-805d-a6ca086487f0', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '244f7265-aac8-4bdf-ae17-22ecc6ce5c92', 'created_at': '2023-10-12T03:26:15.346372+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/244f7265-aac8-4bdf-ae17-22ecc6ce5c92', 'rel': 'self'}, {'href': 'http://localhost/allocations/244f7265-aac8-4bdf-ae17-22ecc6ce5c92', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/node/992dc0bc-2eb3-4e1d-9ba8-699060512b5e/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': 'fd5ce8c8-bb03-449e-86ef-71056591d679', 'created_at': '2023-10-12T03:26:15.619098+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/fd5ce8c8-bb03-449e-86ef-71056591d679', 'rel': 'self'}, {'href': 'http://localhost/allocations/fd5ce8c8-bb03-449e-86ef-71056591d679', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'fec6f4bb-0f24-4a94-aca8-80aa4d5e1e57', 'created_at': '2023-10-12T03:26:15.620356+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/fec6f4bb-0f24-4a94-aca8-80aa4d5e1e57', 'rel': 'self'}, {'href': 'http://localhost/allocations/fec6f4bb-0f24-4a94-aca8-80aa4d5e1e57', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '55593a2a-ce65-48a3-a5e5-31e8dcbee23b', 'created_at': '2023-10-12T03:26:15.621567+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/55593a2a-ce65-48a3-a5e5-31e8dcbee23b', 'rel': 'self'}, {'href': 'http://localhost/allocations/55593a2a-ce65-48a3-a5e5-31e8dcbee23b', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&limit=3&marker=55593a2a-ce65-48a3-a5e5-31e8dcbee23b'} DEBUG util.py:445: GET: /v1/allocations?fields=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '780997c6-2150-4edd-993d-72de167bcd47', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/780997c6-2150-4edd-993d-72de167bcd47', 'rel': 'self'}, {'href': 'http://localhost/allocations/780997c6-2150-4edd-993d-72de167bcd47', 'rel': 'bookmark'}]}, {'uuid': 'ada45103-a8c1-43c0-8331-9ad8327de0d9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/ada45103-a8c1-43c0-8331-9ad8327de0d9', 'rel': 'self'}, {'href': 'http://localhost/allocations/ada45103-a8c1-43c0-8331-9ad8327de0d9', 'rel': 'bookmark'}]}, {'uuid': '12565de8-f448-4e42-b8da-612ba34e1a67', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/12565de8-f448-4e42-b8da-612ba34e1a67', 'rel': 'self'}, {'href': 'http://localhost/allocations/12565de8-f448-4e42-b8da-612ba34e1a67', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=12565de8-f448-4e42-b8da-612ba34e1a67'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '0b77595e-aa30-4593-9d6b-4380f6bcf98b', 'created_at': '2023-10-12T03:26:16.019611+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/0b77595e-aa30-4593-9d6b-4380f6bcf98b', 'rel': 'self'}, {'href': 'http://localhost/allocations/0b77595e-aa30-4593-9d6b-4380f6bcf98b', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '37f2cafc-a9df-4c13-b740-5021055fbd63', 'created_at': '2023-10-12T03:26:16.021120+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/37f2cafc-a9df-4c13-b740-5021055fbd63', 'rel': 'self'}, {'href': 'http://localhost/allocations/37f2cafc-a9df-4c13-b740-5021055fbd63', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '7b5d69a2-9a3f-462a-9c09-05a379133571', 'created_at': '2023-10-12T03:26:16.022289+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/7b5d69a2-9a3f-462a-9c09-05a379133571', 'rel': 'self'}, {'href': 'http://localhost/allocations/7b5d69a2-9a3f-462a-9c09-05a379133571', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&limit=3&marker=7b5d69a2-9a3f-462a-9c09-05a379133571'}{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.189115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.197551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.163737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.158800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.223042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.164270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.284010s] ... 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.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-f4774827-b35e-4d14-85cf-009265ec6113 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: DELETE: /v1/nodes/ddc1253f-02a8-4116-a9e1-294933ecf80d/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-fafa2767-edd7-4d15-bcaa-820288ef2fde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node ddc1253f-02a8-4116-a9e1-294933ecf80d could not be found.\", \"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-1138ac40-0d4a-4a02-af93-9bb57a228b0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-4e19d9e9-5c46-4cb8-8b61-3e677ae1570b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/0af932fb-9dce-489f-8de6-cf2109d2ce86 {} DEBUG util.py:445: GOT:{'uuid': '0af932fb-9dce-489f-8de6-cf2109d2ce86', 'created_at': '2023-10-12T03:26:14.605892+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/0af932fb-9dce-489f-8de6-cf2109d2ce86', 'rel': 'self'}, {'href': 'http://localhost/allocations/0af932fb-9dce-489f-8de6-cf2109d2ce86', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/0c2e90be-8a59-47c6-b573-3d8dd63c6225 {} DEBUG util.py:445: GOT:{'uuid': '0c2e90be-8a59-47c6-b573-3d8dd63c6225', 'created_at': '2023-10-12T03:26:14.802019+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/0c2e90be-8a59-47c6-b573-3d8dd63c6225', 'rel': 'self'}, {'href': 'http://localhost/allocations/0c2e90be-8a59-47c6-b573-3d8dd63c6225', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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-b766d311-25d9-4a88-bb75-a7ec15b8426b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?state=allocating {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '7985aa80-41cc-4072-9538-483b7dbda5c5', 'created_at': '2023-10-12T03:26:15.291223+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/7985aa80-41cc-4072-9538-483b7dbda5c5', 'rel': 'self'}, {'href': 'http://localhost/allocations/7985aa80-41cc-4072-9538-483b7dbda5c5', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '1e9c4ef8-0c15-4fa5-9a36-f2d3a0b36b23', 'created_at': '2023-10-12T03:26:15.296179+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/1e9c4ef8-0c15-4fa5-9a36-f2d3a0b36b23', 'rel': 'self'}, {'href': 'http://localhost/allocations/1e9c4ef8-0c15-4fa5-9a36-f2d3a0b36b23', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'd9fb63e0-94b3-477e-966b-fc5db65e5392', 'created_at': '2023-10-12T03:26:15.309354+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/d9fb63e0-94b3-477e-966b-fc5db65e5392', 'rel': 'self'}, {'href': 'http://localhost/allocations/d9fb63e0-94b3-477e-966b-fc5db65e5392', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} DEBUG util.py:445: GOT:{'uuid': '7be3a560-146f-40df-b982-0651df5c6d2b', 'created_at': '2023-10-12T03:26:15.442507+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/7be3a560-146f-40df-b982-0651df5c6d2b', 'rel': 'self'}, {'href': 'http://localhost/allocations/7be3a560-146f-40df-b982-0651df5c6d2b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/d4d01a2c-f3b4-4170-9046-d11c1b2e62a5 {} 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?fields=node_uuid&limit=2 {} DEBUG util.py:445: GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/48a8ed36-c2af-4953-b71e-e737233a1dd8', 'rel': 'self'}, {'href': 'http://localhost/allocations/48a8ed36-c2af-4953-b71e-e737233a1dd8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/dab52301-252c-48b0-8331-8ee4a3605fc3', 'rel': 'self'}, {'href': 'http://localhost/allocations/dab52301-252c-48b0-8331-8ee4a3605fc3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=dab52301-252c-48b0-8331-8ee4a3605fc3'} DEBUG util.py:445: GET: /v1/allocations/d025bbb7-5b98-4c42-b73e-3a853a7fd425 {} DEBUG util.py:445: GOT:{'uuid': 'd025bbb7-5b98-4c42-b73e-3a853a7fd425', 'created_at': '2023-10-12T03:26:16.003345+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/d025bbb7-5b98-4c42-b73e-3a853a7fd425', 'rel': 'self'}, {'href': 'http://localhost/allocations/d025bbb7-5b98-4c42-b73e-3a853a7fd425', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/e94a59bc-36a5-418a-b596-cd87c579fa7f?fields=owner {} DEBUG util.py:445: GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/e94a59bc-36a5-418a-b596-cd87c579fa7f', 'rel': 'self'}, {'href': 'http://localhost/allocations/e94a59bc-36a5-418a-b596-cd87c579fa7f', 'rel': 'bookmark'}]} DEBUG util.py:445: PATCH: /v1/allocations/9f9e8e90-94c0-46a2-92ac-051916f3049c [{'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-7dc2c1f8-7c0b-4236-ba25-989d240096e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "9f9e8e90-94c0-46a2-92ac-051916f3049c", "created_at": "2023-10-12T03:26:16.390607+00:00", "updated_at": "2023-10-12T03:26:16.444352+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/9f9e8e90-94c0-46a2-92ac-051916f3049c", "rel": "self"}, {"href": "http://localhost/allocations/9f9e8e90-94c0-46a2-92ac-051916f3049c", "rel": "bookmark"}], "node_uuid": null}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.157740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.317160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.151456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.129629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.117264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.272495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.182302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.101926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.130308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.237770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.105953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.083001s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.119773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.224507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.174202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.164098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.364412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.121727s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.111553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.067431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.053816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.135750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.178406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.075982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.262039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.064857s] ... ok DEBUG util.py:445: PATCH: /v1/allocations/2a26e9d9-2f1c-4dd2-ac78-c4d1b954e0fa [{'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-a7b365e3-5a5f-4593-84a7-f530ce5d7418 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/7abb9b9e-fa11-4202-b25a-9a24e3cac5b2 [{'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-d5e4612a-bfe9-4a32-870c-4f7a598a2017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "7abb9b9e-fa11-4202-b25a-9a24e3cac5b2", "created_at": "2023-10-12T03:26:16.690710+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/7abb9b9e-fa11-4202-b25a-9a24e3cac5b2", "rel": "self"}, {"href": "http://localhost/allocations/7abb9b9e-fa11-4202-b25a-9a24e3cac5b2", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/7abb9b9e-fa11-4202-b25a-9a24e3cac5b2 {} DEBUG util.py:445: GOT:{'uuid': '7abb9b9e-fa11-4202-b25a-9a24e3cac5b2', 'created_at': '2023-10-12T03:26:16.690710+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/7abb9b9e-fa11-4202-b25a-9a24e3cac5b2', 'rel': 'self'}, {'href': 'http://localhost/allocations/7abb9b9e-fa11-4202-b25a-9a24e3cac5b2', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/4b54d7da-ee54-43cb-a61f-cc3a680f033b [{'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-5ae257e7-c5c2-4df2-948e-6afa0f129bb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4b54d7da-ee54-43cb-a61f-cc3a680f033b could not be found.\", \"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-41eeb4ad-d3e0-4a52-ac41-b77395ad627e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a2fb5e17-83a4-4447-acc4-56e0430e7680', '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/a2fb5e17-83a4-4447-acc4-56e0430e7680 DEBUG util.py:445: Openstack-Request-Id: req-c28d1090-0641-4fc3-89da-d67b4a86fcf1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "a2fb5e17-83a4-4447-acc4-56e0430e7680", "created_at": "2023-10-12T03:26:17.143882+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/a2fb5e17-83a4-4447-acc4-56e0430e7680", "rel": "self"}, {"href": "http://localhost/allocations/a2fb5e17-83a4-4447-acc4-56e0430e7680", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/a2fb5e17-83a4-4447-acc4-56e0430e7680 {} DEBUG util.py:445: GOT:{'uuid': 'a2fb5e17-83a4-4447-acc4-56e0430e7680', 'created_at': '2023-10-12T03:26:17.143882+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/a2fb5e17-83a4-4447-acc4-56e0430e7680', 'rel': 'self'}, {'href': 'http://localhost/allocations/a2fb5e17-83a4-4447-acc4-56e0430e7680', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b015b0dd-ce31-4158-af6c-beb9bf5fc8bd', '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/b015b0dd-ce31-4158-af6c-beb9bf5fc8bd DEBUG util.py:445: Openstack-Request-Id: req-db538ce1-d739-470a-859e-4ca95c80b43b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "b015b0dd-ce31-4158-af6c-beb9bf5fc8bd", "created_at": "2023-10-12T03:26:17.231761+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/b015b0dd-ce31-4158-af6c-beb9bf5fc8bd", "rel": "self"}, {"href": "http://localhost/allocations/b015b0dd-ce31-4158-af6c-beb9bf5fc8bd", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/b015b0dd-ce31-4158-af6c-beb9bf5fc8bd {} DEBUG util.py:445: GOT:{'uuid': 'b015b0dd-ce31-4158-af6c-beb9bf5fc8bd', 'created_at': '2023-10-12T03:26:17.231761+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/b015b0dd-ce31-4158-af6c-beb9bf5fc8bd', 'rel': 'self'}, {'href': 'http://localhost/allocations/b015b0dd-ce31-4158-af6c-beb9bf5fc8bd', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '15075c44-8706-451e-a800-a6f9be7fca09', '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-d3d8b1b4-8af7-426c-a23e-120eaa9ab75d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': '6cfbaeb3-4829-4adf-84c5-b10cc671d130', '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/6cfbaeb3-4829-4adf-84c5-b10cc671d130 DEBUG util.py:445: Openstack-Request-Id: req-c3275d77-a887-486c-bd9f-c96fccffde25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6cfbaeb3-4829-4adf-84c5-b10cc671d130", "created_at": "2023-10-12T03:26:17.394408+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/6cfbaeb3-4829-4adf-84c5-b10cc671d130", "rel": "self"}, {"href": "http://localhost/allocations/6cfbaeb3-4829-4adf-84c5-b10cc671d130", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/6cfbaeb3-4829-4adf-84c5-b10cc671d130 {} DEBUG util.py:445: GOT:{'uuid': '6cfbaeb3-4829-4adf-84c5-b10cc671d130', 'created_at': '2023-10-12T03:26:17.394408+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/6cfbaeb3-4829-4adf-84c5-b10cc671d130', 'rel': 'self'}, {'href': 'http://localhost/allocations/6cfbaeb3-4829-4adf-84c5-b10cc671d130', 'rel': 'bookmark'}], 'node_uuid': None}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.147838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.167614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.112856s] ... ok DEBUG util.py:445: GET: /v1/allocations?sort_key=name {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '7619b7fb-747c-4cdf-a98b-6927cc57b4da', 'created_at': '2023-10-12T03:26:16.157183+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/7619b7fb-747c-4cdf-a98b-6927cc57b4da', 'rel': 'self'}, {'href': 'http://localhost/allocations/7619b7fb-747c-4cdf-a98b-6927cc57b4da', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '8ec63d57-3330-4e6b-ade2-1ffa67b2c726', 'created_at': '2023-10-12T03:26:16.155981+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/8ec63d57-3330-4e6b-ade2-1ffa67b2c726', 'rel': 'self'}, {'href': 'http://localhost/allocations/8ec63d57-3330-4e6b-ade2-1ffa67b2c726', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '386b0f7f-7b8e-457c-9f14-2b3b42c05cb0', 'created_at': '2023-10-12T03:26:16.154796+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/386b0f7f-7b8e-457c-9f14-2b3b42c05cb0', 'rel': 'self'}, {'href': 'http://localhost/allocations/386b0f7f-7b8e-457c-9f14-2b3b42c05cb0', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: PATCH: /v1/allocations/1f131ce8-9551-4595-89d4-2a387c69c674 [{'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-d3f2405c-a8f6-4d40-a80b-8918e0a5842f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1f131ce8-9551-4595-89d4-2a387c69c674", "created_at": "2023-10-12T03:26:16.333372+00:00", "updated_at": "2023-10-12T03:26:16.392373+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1f131ce8-9551-4595-89d4-2a387c69c674", "rel": "self"}, {"href": "http://localhost/allocations/1f131ce8-9551-4595-89d4-2a387c69c674", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/1f131ce8-9551-4595-89d4-2a387c69c674 {} DEBUG util.py:445: GOT:{'uuid': '1f131ce8-9551-4595-89d4-2a387c69c674', 'created_at': '2023-10-12T03:26:16.333372+00:00', 'updated_at': '2023-10-12T03:26:16.392373+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1f131ce8-9551-4595-89d4-2a387c69c674', 'rel': 'self'}, {'href': 'http://localhost/allocations/1f131ce8-9551-4595-89d4-2a387c69c674', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/2e6be1a0-bc95-4af8-94e8-78b64069a412 [{'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-0d4195ed-95a2-44eb-9f1f-ab9adf00f2c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/d8f98360-b8da-485a-a028-42f4086adf4f [{'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-974e2102-5d29-44d7-baf8-e139c86368ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d8f98360-b8da-485a-a028-42f4086adf4f", "created_at": "2023-10-12T03:26:16.740995+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/d8f98360-b8da-485a-a028-42f4086adf4f", "rel": "self"}, {"href": "http://localhost/allocations/d8f98360-b8da-485a-a028-42f4086adf4f", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/d8f98360-b8da-485a-a028-42f4086adf4f {} DEBUG util.py:445: GOT:{'uuid': 'd8f98360-b8da-485a-a028-42f4086adf4f', 'created_at': '2023-10-12T03:26:16.740995+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/d8f98360-b8da-485a-a028-42f4086adf4f', 'rel': 'self'}, {'href': 'http://localhost/allocations/d8f98360-b8da-485a-a028-42f4086adf4f', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2e19a898-6c49-41a9-b816-c0fd7327ff2f', '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/2e19a898-6c49-41a9-b816-c0fd7327ff2f DEBUG util.py:445: Openstack-Request-Id: req-fbc946ca-06e6-4d31-b4d0-b99fd8ceadab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "2e19a898-6c49-41a9-b816-c0fd7327ff2f", "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/2e19a898-6c49-41a9-b816-c0fd7327ff2f", "rel": "self"}, {"href": "http://localhost/allocations/2e19a898-6c49-41a9-b816-c0fd7327ff2f", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/2e19a898-6c49-41a9-b816-c0fd7327ff2f {} DEBUG util.py:445: GOT:{'uuid': '2e19a898-6c49-41a9-b816-c0fd7327ff2f', '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/2e19a898-6c49-41a9-b816-c0fd7327ff2f', 'rel': 'self'}, {'href': 'http://localhost/allocations/2e19a898-6c49-41a9-b816-c0fd7327ff2f', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ebdab47c-66cd-48e6-82e6-2d65490acc6e', '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-39795f45-072c-4ad6-9202-7fd7272a63fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '20be12c3-6331-4369-8c9f-7a06e2ce8a51', '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-b070fee6-d79a-4b65-9058-ee08a73fe432 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '82a9a0e8-1fa4-4996-9b11-869e6bd5f6b3', '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-1c0fe652-6d72-4d1e-9460-cf73d73224a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.126775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.177428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.157838s] ... ok 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-2e943a29-45a1-4a0a-8b01-aba4b0a1b9f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"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/allocations/bebdbf13-9985-49ab-9d9a-2adc3c13df33 {} DEBUG util.py:445: GOT:{'uuid': 'bebdbf13-9985-49ab-9d9a-2adc3c13df33', 'created_at': '2023-10-12T03:26:16.027117+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/bebdbf13-9985-49ab-9d9a-2adc3c13df33', 'rel': 'self'}, {'href': 'http://localhost/allocations/bebdbf13-9985-49ab-9d9a-2adc3c13df33', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/bebdbf13-9985-49ab-9d9a-2adc3c13df33 {} DEBUG util.py:445: GOT:{'uuid': 'bebdbf13-9985-49ab-9d9a-2adc3c13df33', 'created_at': '2023-10-12T03:26:16.027117+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/bebdbf13-9985-49ab-9d9a-2adc3c13df33', 'rel': 'self'}, {'href': 'http://localhost/allocations/bebdbf13-9985-49ab-9d9a-2adc3c13df33', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/node/b0a690cc-7e01-4605-9315-bcae8805ffb6/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 {} 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?fields=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '970e95a4-0011-496c-ab54-65ebbdb06218', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/970e95a4-0011-496c-ab54-65ebbdb06218', 'rel': 'self'}, {'href': 'http://localhost/allocations/970e95a4-0011-496c-ab54-65ebbdb06218', 'rel': 'bookmark'}]}, {'uuid': 'a0b6e2bc-54b2-4179-96b0-4e2369056984', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/a0b6e2bc-54b2-4179-96b0-4e2369056984', 'rel': 'self'}, {'href': 'http://localhost/allocations/a0b6e2bc-54b2-4179-96b0-4e2369056984', 'rel': 'bookmark'}]}, {'uuid': 'aee65b59-69f1-4dcf-8230-ec0556b7f842', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/aee65b59-69f1-4dcf-8230-ec0556b7f842', 'rel': 'self'}, {'href': 'http://localhost/allocations/aee65b59-69f1-4dcf-8230-ec0556b7f842', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/allocations/4ad3093b-c7c4-4004-9b20-6c2fddf75d0e {} 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/4ba645e7-0fd6-4332-a24b-05e0b64fdef6 {} DEBUG util.py:445: GOT:{'uuid': '4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'created_at': '2023-10-12T03:26:16.986623+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/4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'rel': 'self'}, {'href': 'http://localhost/allocations/4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/4ba645e7-0fd6-4332-a24b-05e0b64fdef6 {} DEBUG util.py:445: GOT:{'uuid': '4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'created_at': '2023-10-12T03:26:16.986623+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/4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'rel': 'self'}, {'href': 'http://localhost/allocations/4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /allocations/4ba645e7-0fd6-4332-a24b-05e0b64fdef6 {} DEBUG util.py:445: GOT:{'uuid': '4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'created_at': '2023-10-12T03:26:16.986623+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/4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'rel': 'self'}, {'href': 'http://localhost/allocations/4ba645e7-0fd6-4332-a24b-05e0b64fdef6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: PATCH: /v1/allocations/e8306d86-01ee-453e-b2c2-e4ec9aa9362e [{'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-ca316b71-e8b3-4cae-9cdb-43d0f93791be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e8306d86-01ee-453e-b2c2-e4ec9aa9362e", "created_at": "2023-10-12T03:26:17.299403+00:00", "updated_at": "2023-10-12T03:26:17.341360+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/e8306d86-01ee-453e-b2c2-e4ec9aa9362e", "rel": "self"}, {"href": "http://localhost/allocations/e8306d86-01ee-453e-b2c2-e4ec9aa9362e", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/e8306d86-01ee-453e-b2c2-e4ec9aa9362e {} DEBUG util.py:445: GOT:{'uuid': 'e8306d86-01ee-453e-b2c2-e4ec9aa9362e', 'created_at': '2023-10-12T03:26:17.299403+00:00', 'updated_at': '2023-10-12T03:26:17.341360+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/e8306d86-01ee-453e-b2c2-e4ec9aa9362e', 'rel': 'self'}, {'href': 'http://localhost/allocations/e8306d86-01ee-453e-b2c2-e4ec9aa9362e', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1 [{'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-42dd555c-155e-43b8-81cf-76fce2268e11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1dc9fe65-6d2f-4b30-8c16-a3b298c791d1", "created_at": "2023-10-12T03:26:17.419840+00:00", "updated_at": "2023-10-12T03:26:17.513512+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/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1", "rel": "self"}, {"href": "http://localhost/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1 {} DEBUG util.py:445: GOT:{'uuid': '1dc9fe65-6d2f-4b30-8c16-a3b298c791d1', 'created_at': '2023-10-12T03:26:17.419840+00:00', 'updated_at': '2023-10-12T03:26:17.513512+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/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1', 'rel': 'self'}, {'href': 'http://localhost/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1', 'rel': 'bookmark'}], 'node_uuid': None}{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.313152s] ... ok 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': 'f9fe50a9-229b-460c-8f9b-a8a67b8938ea', 'created_at': '2023-10-12T03:26:16.408378+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/f9fe50a9-229b-460c-8f9b-a8a67b8938ea', 'rel': 'self'}, {'href': 'http://localhost/allocations/f9fe50a9-229b-460c-8f9b-a8a67b8938ea', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f1e0f13f-670a-47a8-85e2-132484667864', 'created_at': '2023-10-12T03:26:16.409596+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/f1e0f13f-670a-47a8-85e2-132484667864', 'rel': 'self'}, {'href': 'http://localhost/allocations/f1e0f13f-670a-47a8-85e2-132484667864', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7df4523a-35c2-4d9a-a60f-13241cabca69', 'created_at': '2023-10-12T03:26:16.410733+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/7df4523a-35c2-4d9a-a60f-13241cabca69', 'rel': 'self'}, {'href': 'http://localhost/allocations/7df4523a-35c2-4d9a-a60f-13241cabca69', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/allocations/790b42ae-2a52-4764-bdf3-d6606dfd0556?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-c7ff07b8-d7c6-42ec-9cd2-052c09677981 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/e80d54cf-1ef2-445a-a574-1903379c0a0f {} DEBUG util.py:445: GOT:{'uuid': 'e80d54cf-1ef2-445a-a574-1903379c0a0f', 'created_at': '2023-10-12T03:26:16.778404+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/e80d54cf-1ef2-445a-a574-1903379c0a0f', 'rel': 'self'}, {'href': 'http://localhost/allocations/e80d54cf-1ef2-445a-a574-1903379c0a0f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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/1a5f1985-d044-42f7-97e5-ae5414a856f0 {} DEBUG util.py:445: GOT:{'uuid': '1a5f1985-d044-42f7-97e5-ae5414a856f0', 'created_at': '2023-10-12T03:26:17.041556+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/1a5f1985-d044-42f7-97e5-ae5414a856f0', 'rel': 'self'}, {'href': 'http://localhost/allocations/1a5f1985-d044-42f7-97e5-ae5414a856f0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'c0b9ec68-12f4-48dd-a05a-eba347f490c9', 'created_at': '2023-10-12T03:26:17.160683+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/c0b9ec68-12f4-48dd-a05a-eba347f490c9', 'rel': 'self'}, {'href': 'http://localhost/allocations/c0b9ec68-12f4-48dd-a05a-eba347f490c9', '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-3f0d74d6-6a41-43c4-9e06-c41837911090 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e88059a-6661-47e9-83fe-0db4843c0c9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e7b466d5-f2af-4e28-9672-e7d4b08a5ce8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2cafc20e-1552-4d1e-b629-b79b17a295b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/cca529ee-00ee-443b-8aa5-4f98087eb907 [{'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-c10e4bd8-b063-4956-8e96-a88d7f79cb75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/0b54ee41-f304-4d28-a8c6-4c9128d01810 [{'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-a3ffd6fc-e092-4ed5-91b2-72639439f03d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/27938d38-da48-47b1-951b-ca56d4f26999 [{'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-467240c9-bb46-44e2-a13f-a559badcdc5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '12f7f25c-518a-4af9-b0f4-484b1432be73', '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/12f7f25c-518a-4af9-b0f4-484b1432be73 DEBUG util.py:445: Openstack-Request-Id: req-f836b259-94d9-40f3-9349-42ab9270d683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "12f7f25c-518a-4af9-b0f4-484b1432be73", "created_at": "2023-10-12T03:26:17.665271+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/12f7f25c-518a-4af9-b0f4-484b1432be73", "rel": "self"}, {"href": "http://localhost/allocations/12f7f25c-518a-4af9-b0f4-484b1432be73", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.112218s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.099584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.115740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.228623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.229037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.114511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.095247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.130718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.096708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.112340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.177374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.092671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.086552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.094609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.105465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.115775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.175906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.118313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.059428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.088635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.159806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.085802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.247786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.103839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_is_restricted_until_scope_enforcement [0.165113s] ... ok DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6a382f57-9dcf-462a-a19b-7ece419e4c71', '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-8e074ee0-89ed-4a66-be79-69fd8163ea62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2', '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/82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2 DEBUG util.py:445: Openstack-Request-Id: req-e00f616b-6bb0-4b9b-9576-6c1360125c9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2", "created_at": "2023-10-12T03:26:17.683729+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/82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2", "rel": "self"}, {"href": "http://localhost/allocations/82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2 {} DEBUG util.py:445: GOT:{'uuid': '82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2', 'created_at': '2023-10-12T03:26:17.683729+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/82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2', 'rel': 'self'}, {'href': 'http://localhost/allocations/82bd39c0-9e73-4b6d-a0d7-53ba8ac89cc2', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '86650f36-d33a-4a22-aa25-56d0edf8e8e5', '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-5846a2d1-cc79-4de7-bcee-f36f8353c611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd9429b24-6627-4fb9-a748-75e897109a49', '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-3041c49e-cf93-4ebd-a9e0-3d76501a0a52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'da26fc0f-46b4-466d-bc93-7c5ec2619ab2', '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/da26fc0f-46b4-466d-bc93-7c5ec2619ab2 DEBUG util.py:445: Openstack-Request-Id: req-8d23f38c-8c74-47cf-bde2-332f33a46129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "da26fc0f-46b4-466d-bc93-7c5ec2619ab2", "created_at": "2023-10-12T03:26:18.073064+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/da26fc0f-46b4-466d-bc93-7c5ec2619ab2", "rel": "self"}, {"href": "http://localhost/allocations/da26fc0f-46b4-466d-bc93-7c5ec2619ab2", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/da26fc0f-46b4-466d-bc93-7c5ec2619ab2 {} DEBUG util.py:445: GOT:{'uuid': 'da26fc0f-46b4-466d-bc93-7c5ec2619ab2', 'created_at': '2023-10-12T03:26:18.073064+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/da26fc0f-46b4-466d-bc93-7c5ec2619ab2', 'rel': 'self'}, {'href': 'http://localhost/allocations/da26fc0f-46b4-466d-bc93-7c5ec2619ab2', 'rel': 'bookmark'}], 'node_uuid': None} 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-7316424c-6b7b-4925-80a2-fd840dea3594 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: GET: /v1/chassis?fields=extra,uuid {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '14b5a66f-4eb9-403d-8a91-f6a4019a7263', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/14b5a66f-4eb9-403d-8a91-f6a4019a7263', 'rel': 'self'}, {'href': 'http://localhost/chassis/14b5a66f-4eb9-403d-8a91-f6a4019a7263', 'rel': 'bookmark'}]}, {'uuid': '0452400a-f906-451f-aeee-0cb97077ed2b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/0452400a-f906-451f-aeee-0cb97077ed2b', 'rel': 'self'}, {'href': 'http://localhost/chassis/0452400a-f906-451f-aeee-0cb97077ed2b', 'rel': 'bookmark'}]}, {'uuid': 'b576e5ef-067a-4319-9d00-44911f5e92e5', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b576e5ef-067a-4319-9d00-44911f5e92e5', 'rel': 'self'}, {'href': 'http://localhost/chassis/b576e5ef-067a-4319-9d00-44911f5e92e5', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=b576e5ef-067a-4319-9d00-44911f5e92e5'} 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?fields=extra&limit=2 {} DEBUG util.py:445: GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/d44962ba-f82f-41cc-907f-cd2c04809bb0', 'rel': 'self'}, {'href': 'http://localhost/chassis/d44962ba-f82f-41cc-907f-cd2c04809bb0', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/3d3a40a5-510b-4db7-b433-75437a81f68e', 'rel': 'self'}, {'href': 'http://localhost/chassis/3d3a40a5-510b-4db7-b433-75437a81f68e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=3d3a40a5-510b-4db7-b433-75437a81f68e'} 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-c400a738-2c60-4f37-8793-991a149e9289 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.065883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.195887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.100072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.237537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.152664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.144654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.125731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.179615s] ... ok DEBUG util.py:445: GET: /v1/allocations/12f7f25c-518a-4af9-b0f4-484b1432be73 {} DEBUG util.py:445: GOT:{'uuid': '12f7f25c-518a-4af9-b0f4-484b1432be73', 'created_at': '2023-10-12T03:26:17.665271+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/12f7f25c-518a-4af9-b0f4-484b1432be73', 'rel': 'self'}, {'href': 'http://localhost/allocations/12f7f25c-518a-4af9-b0f4-484b1432be73', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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/997dbf0c-c246-4cf7-a6ea-35f27cb15d3d DEBUG util.py:445: Openstack-Request-Id: req-17e4d622-8401-4aa0-b680-3af143908719 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "997dbf0c-c246-4cf7-a6ea-35f27cb15d3d", "created_at": "2023-10-12T03:26:17.888630+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/997dbf0c-c246-4cf7-a6ea-35f27cb15d3d", "rel": "self"}, {"href": "http://localhost/allocations/997dbf0c-c246-4cf7-a6ea-35f27cb15d3d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/997dbf0c-c246-4cf7-a6ea-35f27cb15d3d {} DEBUG util.py:445: GOT:{'uuid': '997dbf0c-c246-4cf7-a6ea-35f27cb15d3d', 'created_at': '2023-10-12T03:26:17.888630+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/997dbf0c-c246-4cf7-a6ea-35f27cb15d3d', 'rel': 'self'}, {'href': 'http://localhost/allocations/997dbf0c-c246-4cf7-a6ea-35f27cb15d3d', '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': [], '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/5b790d7c-6c9e-4321-8664-f11aa263bc47 DEBUG util.py:445: Openstack-Request-Id: req-77c2d86d-e2d1-40eb-8c93-867773ad60b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "5b790d7c-6c9e-4321-8664-f11aa263bc47", "created_at": "2023-10-12T03:26:18.107631+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/5b790d7c-6c9e-4321-8664-f11aa263bc47", "rel": "self"}, {"href": "http://localhost/allocations/5b790d7c-6c9e-4321-8664-f11aa263bc47", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/5b790d7c-6c9e-4321-8664-f11aa263bc47 {} DEBUG util.py:445: GOT:{'uuid': '5b790d7c-6c9e-4321-8664-f11aa263bc47', 'created_at': '2023-10-12T03:26:18.107631+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/5b790d7c-6c9e-4321-8664-f11aa263bc47', 'rel': 'self'}, {'href': 'http://localhost/allocations/5b790d7c-6c9e-4321-8664-f11aa263bc47', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '37fafb44-b21d-4f81-8145-389d078c1b6b', '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': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'e3da75db-0fd8-4520-b5ec-74f3cc505588', '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/e3da75db-0fd8-4520-b5ec-74f3cc505588 DEBUG util.py:445: Openstack-Request-Id: req-873c22c9-23e5-457c-8b21-640452ad8664 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e3da75db-0fd8-4520-b5ec-74f3cc505588", "created_at": "2023-10-12T03:26:18.421403+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/e3da75db-0fd8-4520-b5ec-74f3cc505588", "rel": "self"}, {"href": "http://localhost/allocations/e3da75db-0fd8-4520-b5ec-74f3cc505588", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/e3da75db-0fd8-4520-b5ec-74f3cc505588 {} DEBUG util.py:445: GOT:{'uuid': 'e3da75db-0fd8-4520-b5ec-74f3cc505588', 'created_at': '2023-10-12T03:26:18.421403+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/e3da75db-0fd8-4520-b5ec-74f3cc505588', 'rel': 'self'}, {'href': 'http://localhost/allocations/e3da75db-0fd8-4520-b5ec-74f3cc505588', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['node-1', 'ee20f308-3dd6-4eee-be2c-a9e6a3b68c4d'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53', '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/5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53 DEBUG util.py:445: Openstack-Request-Id: req-50975b10-08f5-419c-9d87-d7b0880242cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53", "created_at": "2023-10-12T03:26:18.630695+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ee20f308-3dd6-4eee-be2c-a9e6a3b68c4d"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53", "rel": "self"}, {"href": "http://localhost/allocations/5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53 {} DEBUG util.py:445: GOT:{'uuid': '5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53', 'created_at': '2023-10-12T03:26:18.630695+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ee20f308-3dd6-4eee-be2c-a9e6a3b68c4d'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53', 'rel': 'self'}, {'href': 'http://localhost/allocations/5963f7eb-7b40-43f4-8aa7-e8be1b7ceb53', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '5d57b7f8-e0a1-4143-9aa5-1784378ea929', '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/5d57b7f8-e0a1-4143-9aa5-1784378ea929 DEBUG util.py:445: Openstack-Request-Id: req-210ddb51-b73a-404a-8256-d3cfd68ef018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "5d57b7f8-e0a1-4143-9aa5-1784378ea929", "created_at": "2023-10-12T03:26:18.825412+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/5d57b7f8-e0a1-4143-9aa5-1784378ea929", "rel": "self"}, {"href": "http://localhost/allocations/5d57b7f8-e0a1-4143-9aa5-1784378ea929", "rel": "bookmark"}], "node_uuid": null}{2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.128928s] ... ok DEBUG util.py:445: PATCH: /v1/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1 [{'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-eb5d0c25-cb84-4ada-bb86-a5fab751c7d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1dc9fe65-6d2f-4b30-8c16-a3b298c791d1", "created_at": "2023-10-12T03:26:17.419840+00:00", "updated_at": "2023-10-12T03:26:17.614011+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1", "rel": "self"}, {"href": "http://localhost/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1 {} DEBUG util.py:445: GOT:{'uuid': '1dc9fe65-6d2f-4b30-8c16-a3b298c791d1', 'created_at': '2023-10-12T03:26:17.419840+00:00', 'updated_at': '2023-10-12T03:26:17.614011+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1', 'rel': 'self'}, {'href': 'http://localhost/allocations/1dc9fe65-6d2f-4b30-8c16-a3b298c791d1', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/48f70802-e276-4a74-b261-1175e673a8ee [{'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-936cf52e-63bc-4828-9903-ff9de50ceedc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "48f70802-e276-4a74-b261-1175e673a8ee", "created_at": "2023-10-12T03:26:17.800531+00:00", "updated_at": "2023-10-12T03:26:17.868750+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/48f70802-e276-4a74-b261-1175e673a8ee", "rel": "self"}, {"href": "http://localhost/allocations/48f70802-e276-4a74-b261-1175e673a8ee", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/48f70802-e276-4a74-b261-1175e673a8ee {} DEBUG util.py:445: GOT:{'uuid': '48f70802-e276-4a74-b261-1175e673a8ee', 'created_at': '2023-10-12T03:26:17.800531+00:00', 'updated_at': '2023-10-12T03:26:17.868750+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/48f70802-e276-4a74-b261-1175e673a8ee', 'rel': 'self'}, {'href': 'http://localhost/allocations/48f70802-e276-4a74-b261-1175e673a8ee', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/fb832968-195b-44e6-b3a9-2299e8d51570 [{'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-07b6b611-7d6e-41f4-8b68-aed71e1c8483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: PATCH: /v1/allocations/90a48a07-647f-4523-8900-c0af92c75eae [{'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-79f9f493-155c-4365-9014-a8d059a12dd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '3a73d293-c942-4400-bbc7-0b4634817d31', 'owner': None, 'node': '165aeb97-6683-4a10-96a3-90024281527a'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73eead53-dfb4-41ad-a98c-8eaffeb7e372 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 165aeb97-6683-4a10-96a3-90024281527a could not be found.\", \"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/484ee5f2-1f4a-4672-9b1c-3daaf8745bb3 DEBUG util.py:445: Openstack-Request-Id: req-70afcb1a-c55d-4bfe-9009-f837b83777fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "484ee5f2-1f4a-4672-9b1c-3daaf8745bb3", "created_at": "2023-10-12T03:26:18.344457+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/484ee5f2-1f4a-4672-9b1c-3daaf8745bb3", "rel": "self"}, {"href": "http://localhost/allocations/484ee5f2-1f4a-4672-9b1c-3daaf8745bb3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/484ee5f2-1f4a-4672-9b1c-3daaf8745bb3 {} DEBUG util.py:445: GOT:{'uuid': '484ee5f2-1f4a-4672-9b1c-3daaf8745bb3', 'created_at': '2023-10-12T03:26:18.344457+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/484ee5f2-1f4a-4672-9b1c-3daaf8745bb3', 'rel': 'self'}, {'href': 'http://localhost/allocations/484ee5f2-1f4a-4672-9b1c-3daaf8745bb3', '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': '7222e6ed-d63d-41ad-a6af-923530337cc6', '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-ce311afd-0a8c-4791-b8eb-81b57ddf2f46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '8daf684a-35e5-40d7-81f2-d009c775d1de', '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-4741b403-9b04-4303-9f9d-08b322b54b91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_pre_rbac\", \"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': 'c08aeb6e-b1f7-483d-9c1b-6175e3058e86', '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: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '15882395-5968-42ed-b263-7cd6b42b29cd', '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/15882395-5968-42ed-b263-7cd6b42b29cd DEBUG util.py:445: Openstack-Request-Id: req-b9ce7a5f-8431-41c1-b999-7f085fb6a416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "15882395-5968-42ed-b263-7cd6b42b29cd", "created_at": "2023-10-12T03:26:18.905571+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/15882395-5968-42ed-b263-7cd6b42b29cd", "rel": "self"}, {"href": "http://localhost/allocations/15882395-5968-42ed-b263-7cd6b42b29cd", "rel": "bookmark"}], "node_uuid": null}{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.195105s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.191860s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.278675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.089125s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.225448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.159293s] ... ok DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'dd88dca4-916c-4ffb-97e4-c1e93565fbf5', '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-788f50cf-3b9b-40ad-a36f-43bd469a9dcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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, 'traits': [], 'uuid': '299e470f-24bd-44eb-838b-d037fb6dbb82', '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-10cc7b0c-d474-4971-b4c9-ebf791902983 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7e00d2af-4d7a-4353-99d8-c1616fc8b99f', '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/7e00d2af-4d7a-4353-99d8-c1616fc8b99f DEBUG util.py:445: Openstack-Request-Id: req-9a807331-6c07-409f-916c-bfacfe86f502 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "7e00d2af-4d7a-4353-99d8-c1616fc8b99f", "created_at": "2023-10-12T03:26:17.948770+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/7e00d2af-4d7a-4353-99d8-c1616fc8b99f", "rel": "self"}, {"href": "http://localhost/allocations/7e00d2af-4d7a-4353-99d8-c1616fc8b99f", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/7e00d2af-4d7a-4353-99d8-c1616fc8b99f {} DEBUG util.py:445: GOT:{'uuid': '7e00d2af-4d7a-4353-99d8-c1616fc8b99f', 'created_at': '2023-10-12T03:26:17.948770+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/7e00d2af-4d7a-4353-99d8-c1616fc8b99f', 'rel': 'self'}, {'href': 'http://localhost/allocations/7e00d2af-4d7a-4353-99d8-c1616fc8b99f', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6f5aa366-15a7-4404-a239-84e4b62902ec', '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-09ebaeaf-e000-42bc-8b44-4227060bfe5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'bb9e6fb0-d905-44cb-9f33-6c4404df1e10', '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-2e6ab71e-9ff6-441d-b2a1-4034b63ccd19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '04f01c84-1f65-4af0-9503-a693731ed4e9', '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/04f01c84-1f65-4af0-9503-a693731ed4e9 DEBUG util.py:445: Openstack-Request-Id: req-90631cec-da8a-4daa-a1c5-6557c958d045 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "04f01c84-1f65-4af0-9503-a693731ed4e9", "created_at": "2023-10-12T03:26:18.282067+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/04f01c84-1f65-4af0-9503-a693731ed4e9", "rel": "self"}, {"href": "http://localhost/allocations/04f01c84-1f65-4af0-9503-a693731ed4e9", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: DELETE: /v1/chassis/fde38459-7251-4dc8-b4d6-4bd64ef550f0 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d97c5908-8cee-4ae9-9bd7-f90d1d54f0c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 fde38459-7251-4dc8-b4d6-4bd64ef550f0 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/?limit=3 {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'a3e1a2a7-98a8-4099-844a-6303762be30d', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/a3e1a2a7-98a8-4099-844a-6303762be30d', 'rel': 'self'}, {'href': 'http://localhost/chassis/a3e1a2a7-98a8-4099-844a-6303762be30d', 'rel': 'bookmark'}]}, {'uuid': 'b41e3d30-bbc6-4072-9916-9d233633d08c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b41e3d30-bbc6-4072-9916-9d233633d08c', 'rel': 'self'}, {'href': 'http://localhost/chassis/b41e3d30-bbc6-4072-9916-9d233633d08c', 'rel': 'bookmark'}]}, {'uuid': '7066eda1-f0cc-4601-a855-c2e482e28f97', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/7066eda1-f0cc-4601-a855-c2e482e28f97', 'rel': 'self'}, {'href': 'http://localhost/chassis/7066eda1-f0cc-4601-a855-c2e482e28f97', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=7066eda1-f0cc-4601-a855-c2e482e28f97'} DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2023-10-12T03:26:18.742309+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 {} 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/24d163e0-a82e-451c-8e97-37972b09540e {} DEBUG util.py:445: GOT:{'uuid': '24d163e0-a82e-451c-8e97-37972b09540e', 'created_at': '2023-10-12T03:26:19.056289+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/24d163e0-a82e-451c-8e97-37972b09540e', 'rel': 'self'}, {'href': 'http://localhost/chassis/24d163e0-a82e-451c-8e97-37972b09540e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/24d163e0-a82e-451c-8e97-37972b09540e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/24d163e0-a82e-451c-8e97-37972b09540e/nodes', 'rel': 'bookmark'}]]}{0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.225052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.102059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.095722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.108874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.072696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.091860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.052016s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.270832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.150377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.092718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.052702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.084508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.086372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.070858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.172342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.210970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.043098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.076613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.114603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.122207s] ... ok 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/28becf29-fbce-48f1-a742-415c953d24b0 {} DEBUG util.py:445: GOT:{'uuid': '28becf29-fbce-48f1-a742-415c953d24b0', 'created_at': '2023-10-12T03:26:18.741438+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/28becf29-fbce-48f1-a742-415c953d24b0', 'rel': 'self'}, {'href': 'http://foo/chassis/28becf29-fbce-48f1-a742-415c953d24b0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/28becf29-fbce-48f1-a742-415c953d24b0/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/28becf29-fbce-48f1-a742-415c953d24b0/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/28becf29-fbce-48f1-a742-415c953d24b0 {} DEBUG util.py:445: GOT:{'uuid': '28becf29-fbce-48f1-a742-415c953d24b0', 'created_at': '2023-10-12T03:26:18.741438+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/28becf29-fbce-48f1-a742-415c953d24b0', 'rel': 'self'}, {'href': 'http://foo/chassis/28becf29-fbce-48f1-a742-415c953d24b0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/28becf29-fbce-48f1-a742-415c953d24b0/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/28becf29-fbce-48f1-a742-415c953d24b0/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/28becf29-fbce-48f1-a742-415c953d24b0 {} DEBUG util.py:445: GOT:{'uuid': '28becf29-fbce-48f1-a742-415c953d24b0', 'created_at': '2023-10-12T03:26:18.741438+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/28becf29-fbce-48f1-a742-415c953d24b0', 'rel': 'self'}, {'href': 'http://foo/chassis/28becf29-fbce-48f1-a742-415c953d24b0', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/28becf29-fbce-48f1-a742-415c953d24b0/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/28becf29-fbce-48f1-a742-415c953d24b0/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd7633bdb-bd5c-4b14-b9a6-e3b4966c7dd5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d7633bdb-bd5c-4b14-b9a6-e3b4966c7dd5', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7633bdb-bd5c-4b14-b9a6-e3b4966c7dd5', 'rel': 'bookmark'}]}, {'uuid': 'd4d43fb9-9f02-4bb5-ae6d-30143707f685', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d4d43fb9-9f02-4bb5-ae6d-30143707f685', 'rel': 'self'}, {'href': 'http://localhost/nodes/d4d43fb9-9f02-4bb5-ae6d-30143707f685', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd7633bdb-bd5c-4b14-b9a6-e3b4966c7dd5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d7633bdb-bd5c-4b14-b9a6-e3b4966c7dd5', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7633bdb-bd5c-4b14-b9a6-e3b4966c7dd5', '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=d7633bdb-bd5c-4b14-b9a6-e3b4966c7dd5'} 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-581263ad-1548-44db-84ef-d322f573b410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-1f94b67e-096b-4dd1-b994-805130a287bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:19.364416+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': '2023-10-12T03:26:19.364416+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: 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-374f341f-a37c-45f8-99be-28f5ee2189fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:19.602302+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"}]]} 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': '2023-10-12T03:26:19.602302+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': {}, '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-435a9f9b-08c6-4170-a3ec-31ff0ab3b32c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'maxLength' in schema['properties']['description']\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.128395s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.206793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.196929s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.126886s] ... ok DEBUG util.py:445: GET: /v1/allocations/5d57b7f8-e0a1-4143-9aa5-1784378ea929 {} DEBUG util.py:445: GOT:{'uuid': '5d57b7f8-e0a1-4143-9aa5-1784378ea929', 'created_at': '2023-10-12T03:26:18.825412+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/5d57b7f8-e0a1-4143-9aa5-1784378ea929', 'rel': 'self'}, {'href': 'http://localhost/allocations/5d57b7f8-e0a1-4143-9aa5-1784378ea929', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6d5ed12e-60f1-49f5-991f-f621773564a2', '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-727e6afb-61d3-47fb-8f94-1a936397a674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'ac699e25-c613-4291-a186-0e7330d54a68'} 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/ac699e25-c613-4291-a186-0e7330d54a68 DEBUG util.py:445: Openstack-Request-Id: req-fbbaf9ad-aa7d-4595-a024-3e18d95887cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "ac699e25-c613-4291-a186-0e7330d54a68", "created_at": "2023-10-12T03:26:19.178835+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/ac699e25-c613-4291-a186-0e7330d54a68", "rel": "self"}, {"href": "http://localhost/allocations/ac699e25-c613-4291-a186-0e7330d54a68", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/ac699e25-c613-4291-a186-0e7330d54a68 {} DEBUG util.py:445: GOT:{'uuid': 'ac699e25-c613-4291-a186-0e7330d54a68', 'created_at': '2023-10-12T03:26:19.178835+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/ac699e25-c613-4291-a186-0e7330d54a68', 'rel': 'self'}, {'href': 'http://localhost/allocations/ac699e25-c613-4291-a186-0e7330d54a68', '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-b39d8ae6-5f1c-4232-899a-cee41d21662e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-1da3ef32-1d1e-44ae-9d26-8d595379272e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-8ccceb57-3022-441b-8b21-ccb731b7d0f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'cb31d938-10c9-4f7e-afe1-8142ada8803c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/cb31d938-10c9-4f7e-afe1-8142ada8803c', 'rel': 'self'}, {'href': 'http://localhost/chassis/cb31d938-10c9-4f7e-afe1-8142ada8803c', 'rel': 'bookmark'}]}, {'uuid': '46fa012e-d975-431d-b80a-0c799d4eab1b', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/46fa012e-d975-431d-b80a-0c799d4eab1b', 'rel': 'self'}, {'href': 'http://localhost/chassis/46fa012e-d975-431d-b80a-0c799d4eab1b', 'rel': 'bookmark'}]}, {'uuid': 'f5eef654-1f78-4625-8601-c48f1827f3b1', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/f5eef654-1f78-4625-8601-c48f1827f3b1', 'rel': 'self'}, {'href': 'http://localhost/chassis/f5eef654-1f78-4625-8601-c48f1827f3b1', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=f5eef654-1f78-4625-8601-c48f1827f3b1'} DEBUG util.py:445: GET: /v1/chassis?detail=True {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2023-10-12T03:26:19.472792+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?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-8745b4d8-66dd-471e-b55a-246ff185915a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: PATCH: /v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea [{'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-5a2b01b8-18ad-4241-9db6-b982e54f695e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "c4382d04-fbbc-473b-8e35-d494efc71eea", "created_at": "2023-10-12T03:26:19.750540+00:00", "updated_at": "2023-10-12T03:26:19.823257+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea", "rel": "self"}, {"href": "http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea {} DEBUG util.py:445: GOT:{'uuid': 'c4382d04-fbbc-473b-8e35-d494efc71eea', 'created_at': '2023-10-12T03:26:19.750540+00:00', 'updated_at': '2023-10-12T03:26:19.823257+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea [{'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-cdd9a7ac-ddab-47f1-8d93-3bd30056c39c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "c4382d04-fbbc-473b-8e35-d494efc71eea", "created_at": "2023-10-12T03:26:19.750540+00:00", "updated_at": "2023-10-12T03:26:19.911985+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea", "rel": "self"}, {"href": "http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes", "rel": "bookmark"}]]}{2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.369505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.188483s] ... ok DEBUG util.py:445: GET: /v1/chassis/24d163e0-a82e-451c-8e97-37972b09540e {} DEBUG util.py:445: GOT:{'uuid': '24d163e0-a82e-451c-8e97-37972b09540e', 'created_at': '2023-10-12T03:26:19.056289+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/24d163e0-a82e-451c-8e97-37972b09540e', 'rel': 'self'}, {'href': 'http://localhost/chassis/24d163e0-a82e-451c-8e97-37972b09540e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/24d163e0-a82e-451c-8e97-37972b09540e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/24d163e0-a82e-451c-8e97-37972b09540e/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/24d163e0-a82e-451c-8e97-37972b09540e {} DEBUG util.py:445: GOT:{'uuid': '24d163e0-a82e-451c-8e97-37972b09540e', 'created_at': '2023-10-12T03:26:19.056289+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/24d163e0-a82e-451c-8e97-37972b09540e', 'rel': 'self'}, {'href': 'http://localhost/chassis/24d163e0-a82e-451c-8e97-37972b09540e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/24d163e0-a82e-451c-8e97-37972b09540e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/24d163e0-a82e-451c-8e97-37972b09540e/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '31e0b8b2-695c-48db-8c37-c12a59cfc85f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/31e0b8b2-695c-48db-8c37-c12a59cfc85f', 'rel': 'self'}, {'href': 'http://localhost/chassis/31e0b8b2-695c-48db-8c37-c12a59cfc85f', 'rel': 'bookmark'}]}, {'uuid': '8ff89030-302c-43be-8c66-64047f2e030e', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8ff89030-302c-43be-8c66-64047f2e030e', 'rel': 'self'}, {'href': 'http://localhost/chassis/8ff89030-302c-43be-8c66-64047f2e030e', 'rel': 'bookmark'}]}, {'uuid': '711f935c-260b-4c99-a6ab-b648467c232e', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/711f935c-260b-4c99-a6ab-b648467c232e', 'rel': 'self'}, {'href': 'http://localhost/chassis/711f935c-260b-4c99-a6ab-b648467c232e', 'rel': 'bookmark'}]}, {'uuid': 'd8e3fa1d-471f-4d6b-aff7-609074660e4c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/d8e3fa1d-471f-4d6b-aff7-609074660e4c', 'rel': 'self'}, {'href': 'http://localhost/chassis/d8e3fa1d-471f-4d6b-aff7-609074660e4c', 'rel': 'bookmark'}]}, {'uuid': '2c01d54d-5d70-414f-83bb-60762ad10d74', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/2c01d54d-5d70-414f-83bb-60762ad10d74', 'rel': 'self'}, {'href': 'http://localhost/chassis/2c01d54d-5d70-414f-83bb-60762ad10d74', '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': '2023-10-12T03:26:19.345149+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 {} 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?sort_key=uuid {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '92a7c2a0-738e-400d-b7d2-b1b924c5b4f6', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/92a7c2a0-738e-400d-b7d2-b1b924c5b4f6', 'rel': 'self'}, {'href': 'http://localhost/chassis/92a7c2a0-738e-400d-b7d2-b1b924c5b4f6', 'rel': 'bookmark'}]}, {'uuid': 'afa2f949-66d5-4e4f-ad56-6b47fe0b311e', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/afa2f949-66d5-4e4f-ad56-6b47fe0b311e', 'rel': 'self'}, {'href': 'http://localhost/chassis/afa2f949-66d5-4e4f-ad56-6b47fe0b311e', 'rel': 'bookmark'}]}, {'uuid': 'e7842b84-94c2-4951-8b0c-27bca4d3677f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e7842b84-94c2-4951-8b0c-27bca4d3677f', 'rel': 'self'}, {'href': 'http://localhost/chassis/e7842b84-94c2-4951-8b0c-27bca4d3677f', 'rel': 'bookmark'}]}]} 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-53ba78ad-6ced-438a-b267-fdea482bcbfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-b030ef16-7d84-4a67-95e4-a981fb0ff6b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-5752e518-a7a5-42b7-92f3-508273efdc30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-e92d7675-50c7-45ce-9924-2f2928e3e441 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/7f3e198f-0283-44ed-acde-9cb664e865ec [{'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-e00f98ba-774d-4c03-918c-7afd4a47b52c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 7f3e198f-0283-44ed-acde-9cb664e865ec could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors/?limit=3 {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': 'c22c27ee-98f1-4a81-a4dc-33590633054e', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/c22c27ee-98f1-4a81-a4dc-33590633054e', 'rel': 'self'}, {'href': 'http://localhost/conductors/c22c27ee-98f1-4a81-a4dc-33590633054e', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '0b15abac-31cd-442d-954b-c1c85765ede6', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/0b15abac-31cd-442d-954b-c1c85765ede6', 'rel': 'self'}, {'href': 'http://localhost/conductors/0b15abac-31cd-442d-954b-c1c85765ede6', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'c2c325cd-46f9-4a0f-b0b8-422f1e666b9c', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/c2c325cd-46f9-4a0f-b0b8-422f1e666b9c', 'rel': 'self'}, {'href': 'http://localhost/conductors/c2c325cd-46f9-4a0f-b0b8-422f1e666b9c', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=c2c325cd-46f9-4a0f-b0b8-422f1e666b9c'} 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}]}{0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.076829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.203742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.220898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.038243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.149499s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.045881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.133780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.034429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.079055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.144816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.043867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.028142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.272064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.021388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.023413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.122348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.144836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.072491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.130924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.127121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.099600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.086812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.133473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.192007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.066405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.086582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.159438s] ... ok DEBUG util.py:445: GET: /v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea {} DEBUG util.py:445: GOT:{'uuid': 'c4382d04-fbbc-473b-8e35-d494efc71eea', 'created_at': '2023-10-12T03:26:19.750540+00:00', 'updated_at': '2023-10-12T03:26:19.911985+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/c4382d04-fbbc-473b-8e35-d494efc71eea/nodes', 'rel': 'bookmark'}]]} 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-6767bc70-6205-450b-a6d1-dbf4f18b7f7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/a0a886e5-a493-47d8-af32-c6ce2b4e25a8 [{'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-2f3d2ca8-ae6a-49f9-916e-18bf0ea11ae0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "a0a886e5-a493-47d8-af32-c6ce2b4e25a8", "created_at": "2023-10-12T03:26:20.271727+00:00", "updated_at": "2023-10-12T03:26:20.292960+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8", "rel": "self"}, {"href": "http://localhost/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8/nodes", "rel": "self"}, {"href": "http://localhost/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8 {} DEBUG util.py:445: GOT:{'uuid': 'a0a886e5-a493-47d8-af32-c6ce2b4e25a8', 'created_at': '2023-10-12T03:26:20.271727+00:00', 'updated_at': '2023-10-12T03:26:20.292960+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8', 'rel': 'self'}, {'href': 'http://localhost/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/a0a886e5-a493-47d8-af32-c6ce2b4e25a8/nodes', 'rel': 'bookmark'}]]} 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-ef6767fc-5db3-43d9-bcd8-f0d33e41d8a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {'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/a628d35e-6944-4933-95d9-cab2010a6951 DEBUG util.py:445: Openstack-Request-Id: req-c2dc53ea-5498-48e4-9f95-94416c1592f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "a628d35e-6944-4933-95d9-cab2010a6951", "created_at": "2023-10-12T03:26:20.366410+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/a628d35e-6944-4933-95d9-cab2010a6951", "rel": "self"}, {"href": "http://localhost/chassis/a628d35e-6944-4933-95d9-cab2010a6951", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/a628d35e-6944-4933-95d9-cab2010a6951/nodes", "rel": "self"}, {"href": "http://localhost/chassis/a628d35e-6944-4933-95d9-cab2010a6951/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'a628d35e-6944-4933-95d9-cab2010a6951', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/a628d35e-6944-4933-95d9-cab2010a6951', 'rel': 'self'}, {'href': 'http://localhost/chassis/a628d35e-6944-4933-95d9-cab2010a6951', 'rel': 'bookmark'}]}]} 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-cd541bdd-0ac5-4f5d-9bc7-40a1466d2df9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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' Failed validating 'type' in schema['properties']['description']\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors?fields=hostname,alive {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '713af96c-fc5b-46b3-960c-2d4a6f3b308a', 'links': [{'href': 'http://localhost/v1/conductors/713af96c-fc5b-46b3-960c-2d4a6f3b308a', 'rel': 'self'}, {'href': 'http://localhost/conductors/713af96c-fc5b-46b3-960c-2d4a6f3b308a', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'a09ba89e-0a68-47d3-8765-db09d63c6acc', 'links': [{'href': 'http://localhost/v1/conductors/a09ba89e-0a68-47d3-8765-db09d63c6acc', 'rel': 'self'}, {'href': 'http://localhost/conductors/a09ba89e-0a68-47d3-8765-db09d63c6acc', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '609a628d-34b0-4d17-8072-68b817e4724b', 'links': [{'href': 'http://localhost/v1/conductors/609a628d-34b0-4d17-8072-68b817e4724b', 'rel': 'self'}, {'href': 'http://localhost/conductors/609a628d-34b0-4d17-8072-68b817e4724b', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=609a628d-34b0-4d17-8072-68b817e4724b'} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': 'bfa16147-946d-4f14-a181-1542d4a21640', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/bfa16147-946d-4f14-a181-1542d4a21640', 'rel': 'self'}, {'href': 'http://localhost/conductors/bfa16147-946d-4f14-a181-1542d4a21640', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'ffc7e000-f3f1-4bf8-96cd-3be6340250be', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/ffc7e000-f3f1-4bf8-96cd-3be6340250be', 'rel': 'self'}, {'href': 'http://localhost/conductors/ffc7e000-f3f1-4bf8-96cd-3be6340250be', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '8ecc726f-d820-49ae-8818-dd7fc74eff7b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/8ecc726f-d820-49ae-8818-dd7fc74eff7b', 'rel': 'self'}, {'href': 'http://localhost/conductors/8ecc726f-d820-49ae-8818-dd7fc74eff7b', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=8ecc726f-d820-49ae-8818-dd7fc74eff7b'} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2023-10-12T03:26:20.697978+00:00', 'updated_at': '2023-10-12T03:26:20.697752+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': '2023-10-12T03:26:20.697978+00:00', 'updated_at': '2023-10-12T03:26:20.697752+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': '2023-10-12T03:26:20.697978+00:00', 'updated_at': '2023-10-12T03:26:20.697752+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}{2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.170710s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.142684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.215519s] ... ok 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-a6613dd8-5d54-4bf1-a69d-910406688ac7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:19.981968+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 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2023-10-12T03:26:19.981968+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: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'conductors': []} 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: DELETE: /v1/deploy_templates/CUSTOM_DT1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-21c6cad6-e406-4acc-9d3d-e2327fccd0ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: GET: /v1/deploy_templates?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'e7cf0e90-cbac-4f53-98b2-71e8f9139912', 'links': [{'href': 'http://localhost/v1/deploy_templates/e7cf0e90-cbac-4f53-98b2-71e8f9139912', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e7cf0e90-cbac-4f53-98b2-71e8f9139912', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '90f1cf87-e6b1-417a-9930-66e78766e36b', 'links': [{'href': 'http://localhost/v1/deploy_templates/90f1cf87-e6b1-417a-9930-66e78766e36b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/90f1cf87-e6b1-417a-9930-66e78766e36b', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '737376f5-2b33-4521-bf0b-d79e4e02e8a5', 'links': [{'href': 'http://localhost/v1/deploy_templates/737376f5-2b33-4521-bf0b-d79e4e02e8a5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/737376f5-2b33-4521-bf0b-d79e4e02e8a5', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=737376f5-2b33-4521-bf0b-d79e4e02e8a5'} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '0ecde230-1633-4fc5-a799-064f20a13291', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/0ecde230-1633-4fc5-a799-064f20a13291', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0ecde230-1633-4fc5-a799-064f20a13291', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '0ecde230-1633-4fc5-a799-064f20a13291', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/0ecde230-1633-4fc5-a799-064f20a13291', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0ecde230-1633-4fc5-a799-064f20a13291', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=name&detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '96d9ad07-a310-4cc5-bb61-a0ee2d60e679', 'created_at': '2023-10-12T03:26:20.553587+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/96d9ad07-a310-4cc5-bb61-a0ee2d60e679', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/96d9ad07-a310-4cc5-bb61-a0ee2d60e679', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'b7736391-280d-43c8-b1cb-f59c08a9d503', 'created_at': '2023-10-12T03:26:20.548007+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/b7736391-280d-43c8-b1cb-f59c08a9d503', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b7736391-280d-43c8-b1cb-f59c08a9d503', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'c8f83216-f2d6-4f52-af49-8255f5bf42fc', 'created_at': '2023-10-12T03:26:20.542729+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/c8f83216-f2d6-4f52-af49-8255f5bf42fc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c8f83216-f2d6-4f52-af49-8255f5bf42fc', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} 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/f5116ce6-2bf9-4caa-9b89-c8df6912a380', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f5116ce6-2bf9-4caa-9b89-c8df6912a380', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/7ac07941-9908-46f9-a5b1-3198e831a50b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7ac07941-9908-46f9-a5b1-3198e831a50b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=7ac07941-9908-46f9-a5b1-3198e831a50b'} DEBUG util.py:445: GET: /v1/deploy_templates/0cea508e-4bb6-4af0-8185-0c11bfb5f779.json {} DEBUG util.py:445: GOT:{'uuid': '0cea508e-4bb6-4af0-8185-0c11bfb5f779', 'created_at': '2023-10-12T03:26:20.726625+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/0cea508e-4bb6-4af0-8185-0c11bfb5f779', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0cea508e-4bb6-4af0-8185-0c11bfb5f779', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/03c78b78-8220-46d6-ab79-019b124fcbe8 {} DEBUG util.py:445: GOT:{'uuid': '03c78b78-8220-46d6-ab79-019b124fcbe8', 'created_at': '2023-10-12T03:26:20.802295+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/03c78b78-8220-46d6-ab79-019b124fcbe8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/03c78b78-8220-46d6-ab79-019b124fcbe8', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494 {} DEBUG util.py:445: GOT:{'uuid': 'df864f6c-431e-4894-9b98-71e9dc644494', 'created_at': '2023-10-12T03:26:20.901737+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494', '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.182813s] ... ok DEBUG util.py:445: GET: /v1/allocations/15882395-5968-42ed-b263-7cd6b42b29cd {} DEBUG util.py:445: GOT:{'uuid': '15882395-5968-42ed-b263-7cd6b42b29cd', 'created_at': '2023-10-12T03:26:18.905571+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/15882395-5968-42ed-b263-7cd6b42b29cd', 'rel': 'self'}, {'href': 'http://localhost/allocations/15882395-5968-42ed-b263-7cd6b42b29cd', 'rel': 'bookmark'}], 'node_uuid': None} 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-2f1578b2-ebec-47d1-8873-7f42612e021d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c3ce481-0614-4e6b-be6d-7aa1c9922e52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:{'chassis': []} DEBUG util.py:445: GET: /v1/chassis?fields=uuid,extra {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '6ec6fa86-8ac1-4bc2-8f1a-9a4e78d6c474', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/6ec6fa86-8ac1-4bc2-8f1a-9a4e78d6c474', 'rel': 'self'}, {'href': 'http://localhost/chassis/6ec6fa86-8ac1-4bc2-8f1a-9a4e78d6c474', 'rel': 'bookmark'}]}, {'uuid': '754551da-c2a0-44a7-8d98-6b8fd482c1d5', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/754551da-c2a0-44a7-8d98-6b8fd482c1d5', 'rel': 'self'}, {'href': 'http://localhost/chassis/754551da-c2a0-44a7-8d98-6b8fd482c1d5', 'rel': 'bookmark'}]}, {'uuid': '20153caf-a55e-415a-af27-c291fb187f7e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/20153caf-a55e-415a-af27-c291fb187f7e', 'rel': 'self'}, {'href': 'http://localhost/chassis/20153caf-a55e-415a-af27-c291fb187f7e', 'rel': 'bookmark'}]}]} 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-77db6209-b9a9-4ff7-b2b9-0ff905caa9ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2023-10-12T03:26:19.876068+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/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-8178f26d-8360-40a6-bb13-c8f8ee2bf168 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-30cf43b5-72e6-4044-8989-25e3976e0d5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:20.249795+00:00", "updated_at": "2023-10-12T03:26:20.336730+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': '2023-10-12T03:26:20.249795+00:00', 'updated_at': '2023-10-12T03:26:20.336730+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': '/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-7dc3439d-a63c-49d5-99b5-d9330b5833a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:20.487101+00:00", "updated_at": "2023-10-12T03:26:20.539268+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"}]]} 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-eb1a3bc7-0fd1-42c8-a3ce-e03f503590e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/05a5cc91-637b-4e1c-839d-148133472a45 [{'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-1b4029cc-4b82-4bfb-872c-8ad325be5d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "05a5cc91-637b-4e1c-839d-148133472a45", "created_at": "2023-10-12T03:26:20.788157+00:00", "updated_at": "2023-10-12T03:26:20.842689+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/05a5cc91-637b-4e1c-839d-148133472a45", "rel": "self"}, {"href": "http://localhost/chassis/05a5cc91-637b-4e1c-839d-148133472a45", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/05a5cc91-637b-4e1c-839d-148133472a45/nodes", "rel": "self"}, {"href": "http://localhost/chassis/05a5cc91-637b-4e1c-839d-148133472a45/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/05a5cc91-637b-4e1c-839d-148133472a45 {} DEBUG util.py:445: GOT:{'uuid': '05a5cc91-637b-4e1c-839d-148133472a45', 'created_at': '2023-10-12T03:26:20.788157+00:00', 'updated_at': '2023-10-12T03:26:20.842689+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/05a5cc91-637b-4e1c-839d-148133472a45', 'rel': 'self'}, {'href': 'http://localhost/chassis/05a5cc91-637b-4e1c-839d-148133472a45', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/05a5cc91-637b-4e1c-839d-148133472a45/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/05a5cc91-637b-4e1c-839d-148133472a45/nodes', 'rel': 'bookmark'}]]}{3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.227474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.185342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.169021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.127001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.107926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.225068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.145296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.072427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.120227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.167888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.113901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.598476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.085388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.099370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.172593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.078907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.046582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.149682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.190177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.147768s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.226985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.094175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.120962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.185826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.138434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.093430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.094708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.130079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.120086s] ... ok DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2023-10-12T03:26:20.172836+00:00', 'updated_at': '2023-10-12T03:26:20.172596+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?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/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-f3695779-48cd-44fe-a5e0-b6ecca4e02d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2023-10-12T03:26:20.592161+00:00', 'updated_at': '2023-10-12T03:26:20.591921+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': '2023-10-12T03:26:20.592161+00:00', 'updated_at': '2023-10-12T03:26:20.591921+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': '2023-10-12T03:26:20.592161+00:00', 'updated_at': '2023-10-12T03:26:20.591921+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 {} 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: GET: /v1/conductors?detail=true {} DEBUG util.py:445: GOT:{'conductors': [{'created_at': '2023-10-12T03:26:21.035079+00:00', 'updated_at': '2023-10-12T03:26:21.034846+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': '2023-10-12T03:26:21.036826+00:00', 'updated_at': '2023-10-12T03:26:21.036625+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-d46ad212-8f29-42a5-93fb-2b9a7a22127a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: GET: /v1/deploy_templates?detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '7f14cc11-d403-446e-ba46-8bfb7f15b422', 'created_at': '2023-10-12T03:26:21.270580+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/7f14cc11-d403-446e-ba46-8bfb7f15b422', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7f14cc11-d403-446e-ba46-8bfb7f15b422', '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: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?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '6935b5b7-9470-46b6-b803-ea7c9677f7e9', 'links': [{'href': 'http://localhost/v1/deploy_templates/6935b5b7-9470-46b6-b803-ea7c9677f7e9', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6935b5b7-9470-46b6-b803-ea7c9677f7e9', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '58b5d0d2-a9ca-4b9a-9019-2f76ca0e1808', 'links': [{'href': 'http://localhost/v1/deploy_templates/58b5d0d2-a9ca-4b9a-9019-2f76ca0e1808', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/58b5d0d2-a9ca-4b9a-9019-2f76ca0e1808', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'e54d81c4-03f2-4269-9a23-503d91d39328', 'links': [{'href': 'http://localhost/v1/deploy_templates/e54d81c4-03f2-4269-9a23-503d91d39328', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e54d81c4-03f2-4269-9a23-503d91d39328', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates/70ee3dc5-cbd1-45b9-a75f-4a7b5eb5189a {} 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 {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'a362b296-1894-44f1-a390-bbe8bff41dfd', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/a362b296-1894-44f1-a390-bbe8bff41dfd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a362b296-1894-44f1-a390-bbe8bff41dfd', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/2eb3f3a0-e3ad-4670-98cf-9d5e58d96321 [{'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-eaba78f4-8b09-4634-9723-2c34624e7c3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} 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-dca8283a-7816-459e-9cea-30fa26a6db89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "872eab9c-b9a3-4e27-8f14-3b297250ab4b", "created_at": "2023-10-12T03:26:22.054035+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/872eab9c-b9a3-4e27-8f14-3b297250ab4b", "rel": "self"}, {"href": "http://localhost/deploy_templates/872eab9c-b9a3-4e27-8f14-3b297250ab4b", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.189543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.117900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.103983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.168328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.079709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.076563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.519881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.179807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.160752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.090739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.071204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.160233s] ... ok 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-377e141d-f6b7-4433-acba-2ec6dc033cce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-caeddf77-a0ca-4df1-a5c0-1871fc4b1444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {'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-7a600f73-6a13-4b29-bdf2-f5b3427f249a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:21.412328+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': '2023-10-12T03:26:21.412328+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: 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-4e21de5f-6849-48d5-a029-12600d2fd386 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-20598b82-e595-433f-929f-9899cd02c4b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"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-4a2d5495-9ba0-4f1b-94e5-8c42197e81c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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-f1e5b1d2-9db8-4a40-b864-90ada07b82bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b0f0899b-1768-4f9d-9ad4-0165a59eb785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"} 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-06084b4e-9a4e-4d3c-b98b-3c791f5dfb2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/a169651a-b1f7-4785-bb3c-c0b980a4ba8c.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-dea5300d-69d3-420a-9ae2-1b0573279105 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/583fe0e3-3907-4b87-a9f4-a54ad83cd2e9?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-434ba609-a6df-4930-b1e1-5e4699bdc8bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/44efe7e6-71c7-485d-885c-9e1432a0274d {}{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.054589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.058749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.235286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.193367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.068804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.213311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.226758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.031246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.198361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.028675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.039179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.236162s] ... ok DEBUG util.py:445: GET: /v1/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494 {} DEBUG util.py:445: GOT:{'uuid': 'df864f6c-431e-4894-9b98-71e9dc644494', 'created_at': '2023-10-12T03:26:20.901737+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494 {} DEBUG util.py:445: GOT:{'uuid': 'df864f6c-431e-4894-9b98-71e9dc644494', 'created_at': '2023-10-12T03:26:20.901737+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/df864f6c-431e-4894-9b98-71e9dc644494', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/03d91cf2-5edd-48ca-aaab-789bc0d32d61 [{'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-e2c32ec6-6cb4-4a6e-8339-41adac22f728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "03d91cf2-5edd-48ca-aaab-789bc0d32d61", "created_at": "2023-10-12T03:26:21.118973+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/03d91cf2-5edd-48ca-aaab-789bc0d32d61", "rel": "self"}, {"href": "http://localhost/deploy_templates/03d91cf2-5edd-48ca-aaab-789bc0d32d61", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/70b77e8b-cdbd-4a9c-adf0-0b25ac823476 [{'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-4163c139-2e9e-4dd8-b674-fa539045f2f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/9a13e70b-1163-44b6-bb66-297dfe794588 [{'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-a286388e-ea0d-4852-bed8-e92c5c286185 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/242b4765-2408-4cf8-9859-f9763001ea8a [{'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-48a462b2-e70b-43d3-9041-9657ba5c9af0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/adb08e56-0e10-47e0-bfcd-3d282be993a1 [{'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-903ec53e-2a68-4683-a834-69bb82c8b089 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/137114da-c451-4484-8200-9db49e64de65 [{'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-5e33f44e-e5f5-4e8c-9baf-1debfd852030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "137114da-c451-4484-8200-9db49e64de65", "created_at": "2023-10-12T03:26:21.865520+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/137114da-c451-4484-8200-9db49e64de65", "rel": "self"}, {"href": "http://localhost/deploy_templates/137114da-c451-4484-8200-9db49e64de65", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} 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'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-648f9400-c96f-4a56-8a69-f1fb89641ce3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "2266e399-29ee-4112-9ffe-308d000410eb", "created_at": "2023-10-12T03:26:22.399929+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2266e399-29ee-4112-9ffe-308d000410eb", "rel": "self"}, {"href": "http://localhost/deploy_templates/2266e399-29ee-4112-9ffe-308d000410eb", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/d27e0c1b-5ba7-447e-b3f0-da13af7d077f [{'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-f160707e-575c-41e8-8db9-8788e760993b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template d27e0c1b-5ba7-447e-b3f0-da13af7d077f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '066f570b-5cc2-4516-ab65-b2ed2c204122', '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/066f570b-5cc2-4516-ab65-b2ed2c204122 DEBUG util.py:445: Openstack-Request-Id: req-e67488af-ce42-4a26-8aff-0aaceefb9dc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "066f570b-5cc2-4516-ab65-b2ed2c204122", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/066f570b-5cc2-4516-ab65-b2ed2c204122", "rel": "self"}, {"href": "http://localhost/deploy_templates/066f570b-5cc2-4516-ab65-b2ed2c204122", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/066f570b-5cc2-4516-ab65-b2ed2c204122 {} DEBUG util.py:445: GOT:{'uuid': '066f570b-5cc2-4516-ab65-b2ed2c204122', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/066f570b-5cc2-4516-ab65-b2ed2c204122', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/066f570b-5cc2-4516-ab65-b2ed2c204122', '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': '54c8be30-6228-4484-b63c-56fc0fef22c2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}}{1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.187418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.134475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.113856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.067685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.134505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.028399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.062473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.179711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.112375s] ... ok DEBUG util.py:445: GET: /v1/conductors?sort_key=hostname {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '4618f166-2d8a-40a9-bae8-d88d40ab5bff', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/4618f166-2d8a-40a9-bae8-d88d40ab5bff', 'rel': 'self'}, {'href': 'http://localhost/conductors/4618f166-2d8a-40a9-bae8-d88d40ab5bff', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '71a5d40b-6dc9-4798-accc-a0091f6addaa', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/71a5d40b-6dc9-4798-accc-a0091f6addaa', 'rel': 'self'}, {'href': 'http://localhost/conductors/71a5d40b-6dc9-4798-accc-a0091f6addaa', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '7422f8b4-08a7-4178-b8fd-3dbe9d0fedf1', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/7422f8b4-08a7-4178-b8fd-3dbe9d0fedf1', 'rel': 'self'}, {'href': 'http://localhost/conductors/7422f8b4-08a7-4178-b8fd-3dbe9d0fedf1', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '9e874cb0-8d3b-4028-af70-5aada7583e4b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/9e874cb0-8d3b-4028-af70-5aada7583e4b', 'rel': 'self'}, {'href': 'http://localhost/conductors/9e874cb0-8d3b-4028-af70-5aada7583e4b', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'ff39aace-2bcf-476b-b891-69b3ac6c2434', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/ff39aace-2bcf-476b-b891-69b3ac6c2434', 'rel': 'self'}, {'href': 'http://localhost/conductors/ff39aace-2bcf-476b-b891-69b3ac6c2434', 'rel': 'bookmark'}], 'alive': True}]} DEBUG util.py:445: DELETE: /v1/deploy_templates/099afa64-ca29-47e4-b486-0a2ea6b356c4 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5562ac3c-4bb5-4e45-b79d-b82ff12115dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: DELETE: /v1/deploy_templates/1cc19881-17b1-4560-8db6-9aab8469036a 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': 'ead4b506-ac08-447a-8269-cb0815e27978', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/ead4b506-ac08-447a-8269-cb0815e27978', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ead4b506-ac08-447a-8269-cb0815e27978', 'rel': 'bookmark'}]}, {'uuid': '43033e89-3a5c-45bf-a1a2-f57bbb1856cc', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/43033e89-3a5c-45bf-a1a2-f57bbb1856cc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/43033e89-3a5c-45bf-a1a2-f57bbb1856cc', 'rel': 'bookmark'}]}, {'uuid': '49c7053c-4d70-4e18-b570-9d7e1b9116fa', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/49c7053c-4d70-4e18-b570-9d7e1b9116fa', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/49c7053c-4d70-4e18-b570-9d7e1b9116fa', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=49c7053c-4d70-4e18-b570-9d7e1b9116fa'} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'fd82a2a2-f5e9-4caa-af8f-5668f7d6aafb', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/fd82a2a2-f5e9-4caa-af8f-5668f7d6aafb', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fd82a2a2-f5e9-4caa-af8f-5668f7d6aafb', 'rel': 'bookmark'}]}, {'uuid': 'e911ad8a-5d92-45f7-aba1-04d7f1d57889', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/e911ad8a-5d92-45f7-aba1-04d7f1d57889', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e911ad8a-5d92-45f7-aba1-04d7f1d57889', 'rel': 'bookmark'}]}, {'uuid': 'b41d0005-5a80-4693-a291-e277c4474808', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/b41d0005-5a80-4693-a291-e277c4474808', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b41d0005-5a80-4693-a291-e277c4474808', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/None?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=b41d0005-5a80-4693-a291-e277c4474808'} 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-1da971dc-69ea-4d16-b8d6-224eb8479ebe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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?detail=False&fields=steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'links': [{'href': 'http://localhost/v1/deploy_templates/c715b100-bc4a-4cd0-a752-ec312a6a4116', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c715b100-bc4a-4cd0-a752-ec312a6a4116', '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': []} DEBUG util.py:445: PATCH: /v1/deploy_templates/6b905c7f-8e30-4d20-907a-bc9c90fe7cc4 [{'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-76ddcfe7-6ac8-4063-919e-1da744c4f435 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/82f36d58-b4a9-4143-910a-57d2bf7ecf6d [{'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-f53883cb-6977-45e3-a4d4-40c6a4dde89c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/88220bff-871d-48e1-8ea3-cc6d4766be80 [{'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-5e960fd1-97f6-46e4-b7bf-b9c84353b37b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: PATCH: /v1/deploy_templates/0042c28e-c9f3-4c39-82f7-755f1687e658 [{'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-3e33bafc-894e-42bd-9603-d8d223213ed0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/66700621-9cf2-407c-a277-850f07590b88 [{'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-f241d43d-2446-4f6f-b9e4-aa9fcb3bd501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 66700621-9cf2-407c-a277-850f07590b88 already exists.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.149323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.088341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.086585s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.325507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.150207s] ... ok DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '4a81792b-2091-4cad-a163-e2b5c8af218c', '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/4a81792b-2091-4cad-a163-e2b5c8af218c DEBUG util.py:445: Openstack-Request-Id: req-5edc6535-7341-45c2-baaa-5ec246492f99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "4a81792b-2091-4cad-a163-e2b5c8af218c", "created_at": "2023-10-12T03:26:22.251827+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4a81792b-2091-4cad-a163-e2b5c8af218c", "rel": "self"}, {"href": "http://localhost/deploy_templates/4a81792b-2091-4cad-a163-e2b5c8af218c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/4a81792b-2091-4cad-a163-e2b5c8af218c {} DEBUG util.py:445: GOT:{'uuid': '4a81792b-2091-4cad-a163-e2b5c8af218c', 'created_at': '2023-10-12T03:26:22.251827+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/4a81792b-2091-4cad-a163-e2b5c8af218c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4a81792b-2091-4cad-a163-e2b5c8af218c', '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': '27b62cfc-9817-4b88-9dff-86f5b3491d82', '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-89ef37e3-a186-4c6b-9073-f26054789aa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array' Failed validating 'type' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'cd4d9b08-7bd1-47f7-becf-c485b5161d7b', '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-59a8463f-3b34-41f2-886c-b218df1938fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '22777103-db00-48e0-9831-cb2c769f4365', '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-0a16d327-e4b7-4a1c-96f2-f67775fbb180 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected) Failed validating 'additionalProperties' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0191c01f-938c-4622-be26-d69ad5f9f813', '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-53d82101-c03a-4886-90e3-eba7270888e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' is not of type 'integer' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'uuid': '3e2c2c3e-feb6-42e1-a307-06b84f2eb37a', '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-0cee88ca-0f97-4a5f-8761-37ebb8d6a123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'd40d2f2d-b8f2-4e67-9896-7b0f247e1ffd', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], '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-1de28ff8-8c85-4244-8e6c-7628fdcf13a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': '514c55ff-4a42-4e9f-945b-6843955fd610', '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/514c55ff-4a42-4e9f-945b-6843955fd610 DEBUG util.py:445: Openstack-Request-Id: req-5050734c-cfeb-4a95-889b-4e1f19eafca3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "514c55ff-4a42-4e9f-945b-6843955fd610", "created_at": "2023-10-12T03:26:22.959663+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/514c55ff-4a42-4e9f-945b-6843955fd610", "rel": "self"}, {"href": "http://localhost/deploy_templates/514c55ff-4a42-4e9f-945b-6843955fd610", "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': '06b6abc7-8367-46b4-b57d-cb2a34156e5f', '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/06b6abc7-8367-46b4-b57d-cb2a34156e5f DEBUG util.py:445: Openstack-Request-Id: req-7e65ac4f-5543-4fc8-955f-c5f7ce493db3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "06b6abc7-8367-46b4-b57d-cb2a34156e5f", "created_at": "2023-10-12T03:26:23.075088+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/06b6abc7-8367-46b4-b57d-cb2a34156e5f", "rel": "self"}, {"href": "http://localhost/deploy_templates/06b6abc7-8367-46b4-b57d-cb2a34156e5f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} 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/test/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'}]}{0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.035810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.044441s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.045520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.028625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.037417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.109051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.069649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.020488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.028383s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.187573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.104146s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.267573s] ... ok 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-fceb59e1-0812-47f7-8764-f3e144101dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/drivers/fake-hardware-type/vendor_passthru/do_test DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-d7d2f635-8551-4c7d-9ace-f80ef02dc17d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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-abf4a212-4f01-4c06-b3ec-7b7ea957d27f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-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 {} 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 {} 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_raid_interface': None, 'enabled_raid_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['iscsi', 'direct'], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_management_interface': None, 'enabled_management_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_raid_interface': None, 'enabled_raid_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_management_interface': None, 'enabled_management_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: 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-1f6c511d-7445-45f1-a383-ce1e061d833f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'invalid.event'}]}{0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.103532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.075591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.142016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.104579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.150887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.360361s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.059415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.086266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.033100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.182916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.102088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.082607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.062578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.206440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.152205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.055690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.106029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.101205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.147588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.132564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.058290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.034291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.187207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.041966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.285776s] ... 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-525c65ac-8fab-4db7-ae04-a4e8b705255b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8c364595-f1f9-4f34-9f2d-00f1b05e2f49', '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-d9893f73-f86c-4152-a817-e49c0f265c9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': None, 'uuid': '63d5185b-f804-40b0-9363-e2f1e1bd9877', '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-7f599c4d-1fc7-4333-abf3-e27bfb53883e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6010ce6a-3aa9-45bb-9ec5-d05e5f332a94', '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-5277a7d4-818f-4ea1-90f4-8e4537597924 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '53330b07-6742-438b-ac95-51f6aa1c09bb', '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-735789d3-a3aa-46d8-880c-ff8cc3da8305 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'beccfd07-34ce-4639-a85e-cea843d3c88b', '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/beccfd07-34ce-4639-a85e-cea843d3c88b DEBUG util.py:445: Openstack-Request-Id: req-0b16d9a5-a1ae-4781-b333-4f0c74c24112 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "beccfd07-34ce-4639-a85e-cea843d3c88b", "created_at": "2023-10-12T03:26:23.749025+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/beccfd07-34ce-4639-a85e-cea843d3c88b", "rel": "self"}, {"href": "http://localhost/deploy_templates/beccfd07-34ce-4639-a85e-cea843d3c88b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'd978ed74-4bbf-4af8-a312-a647e3a01dad', '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-416e5f42-75d9-4a77-9b3c-d07aaddf040b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '71f7f643-e58e-423d-a31d-b388a1b3dd8f', '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-66f6521f-1927-455c-8c21-81bf31d445f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2f341342-e147-4a93-9c46-710aba881936', '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-7338a060-9d95-488b-aba9-3b263e0bf8bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0a51e200-e292-4790-b3df-d1266fa814af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-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'}]} 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-0ab44de3-5071-4853-9324-f3df7d5a4887 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.199576s] ... ok DEBUG util.py:445: GOT:{'uuid': '44efe7e6-71c7-485d-885c-9e1432a0274d', 'created_at': '2023-10-12T03:26:22.438231+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/44efe7e6-71c7-485d-885c-9e1432a0274d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/44efe7e6-71c7-485d-885c-9e1432a0274d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/7b128a7b-a5e1-43d9-998e-d3a55c7973ad?fields=name,steps {} DEBUG util.py:445: GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/7b128a7b-a5e1-43d9-998e-d3a55c7973ad', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7b128a7b-a5e1-43d9-998e-d3a55c7973ad', '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': 'f116620b-d0a5-464c-a24d-56bfca8e9ae2', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/f116620b-d0a5-464c-a24d-56bfca8e9ae2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f116620b-d0a5-464c-a24d-56bfca8e9ae2', 'rel': 'bookmark'}]}, {'uuid': '5d470f29-356a-4f55-94b3-99abccb4a5df', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/5d470f29-356a-4f55-94b3-99abccb4a5df', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5d470f29-356a-4f55-94b3-99abccb4a5df', 'rel': 'bookmark'}]}, {'uuid': '65009fa7-caac-480f-9c44-093bc4d9b9fd', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/65009fa7-caac-480f-9c44-093bc4d9b9fd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/65009fa7-caac-480f-9c44-093bc4d9b9fd', 'rel': 'bookmark'}]}, {'uuid': '16f7ab6e-f3e5-4bf2-b275-784fc7d50e1a', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/16f7ab6e-f3e5-4bf2-b275-784fc7d50e1a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/16f7ab6e-f3e5-4bf2-b275-784fc7d50e1a', 'rel': 'bookmark'}]}, {'uuid': '79439469-3964-468b-81c7-6f2739594652', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/79439469-3964-468b-81c7-6f2739594652', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/79439469-3964-468b-81c7-6f2739594652', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates/7777081b-8c3f-4f9b-aa1e-897454383523 {} DEBUG util.py:445: GOT:{'uuid': '7777081b-8c3f-4f9b-aa1e-897454383523', 'created_at': '2023-10-12T03:26:22.743025+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/7777081b-8c3f-4f9b-aa1e-897454383523', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7777081b-8c3f-4f9b-aa1e-897454383523', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=uuid {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '8c5320f0-5653-4cd7-850b-333149f23608', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/8c5320f0-5653-4cd7-850b-333149f23608', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8c5320f0-5653-4cd7-850b-333149f23608', 'rel': 'bookmark'}]}, {'uuid': '9e11a561-12a3-4995-bb7c-993af6553bfe', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/9e11a561-12a3-4995-bb7c-993af6553bfe', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9e11a561-12a3-4995-bb7c-993af6553bfe', 'rel': 'bookmark'}]}, {'uuid': 'e7e91099-de1a-4db2-9a55-07c0e2d26442', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/e7e91099-de1a-4db2-9a55-07c0e2d26442', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e7e91099-de1a-4db2-9a55-07c0e2d26442', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=name&detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '1b50d911-c7d0-42a5-bbc7-4cdedb5d60e4', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1b50d911-c7d0-42a5-bbc7-4cdedb5d60e4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1b50d911-c7d0-42a5-bbc7-4cdedb5d60e4', 'rel': 'bookmark'}]}, {'uuid': 'e6fcf8a7-d636-4592-9314-85973dd3dc84', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/e6fcf8a7-d636-4592-9314-85973dd3dc84', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e6fcf8a7-d636-4592-9314-85973dd3dc84', 'rel': 'bookmark'}]}, {'uuid': 'f5f74634-64dd-4fed-8bd4-1643c919f919', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/f5f74634-64dd-4fed-8bd4-1643c919f919', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f5f74634-64dd-4fed-8bd4-1643c919f919', 'rel': 'bookmark'}]}]} 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-8cb1ed35-d4ec-485f-9a63-dc6e09aabb98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1c0f237d-192c-4555-96e9-01a2c767bd6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2cee8c28-6dad-4a37-ab17-ef2356b60f02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/eb56f4ef-7a6a-4847-ba73-3c0d2e1e6485 [{'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-17458702-e146-411a-9bc0-28a7a6bafbf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "eb56f4ef-7a6a-4847-ba73-3c0d2e1e6485", "created_at": "2023-10-12T03:26:23.728558+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/eb56f4ef-7a6a-4847-ba73-3c0d2e1e6485", "rel": "self"}, {"href": "http://localhost/deploy_templates/eb56f4ef-7a6a-4847-ba73-3c0d2e1e6485", "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/d3f20888-28cb-4a5c-8899-e57c1244cbb1 [{'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-0e2a3cee-8be3-46fb-9c12-787c712997e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/f7378cd1-5293-4ee2-a6a5-2fa4d00467e9 [{'path': '/foo', 'op': 'remove'}]{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.306572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.198888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.040073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.041288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.052669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.108444s] ... ok DEBUG util.py:445: PATCH: /v1/deploy_templates/fd0ec23d-47ad-4739-b050-6a4243d90eae [{'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/b9a084a1-c4cc-48d9-99d9-b9dd7e0d40b4 [{'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-88255a2b-94f3-4206-9cda-02fee61961be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/26e3e9e0-638c-4304-9c80-b056f1cc19d5 [{'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-7eb95869-3486-4c12-9051-21a2e3cb50ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "26e3e9e0-638c-4304-9c80-b056f1cc19d5", "created_at": "2023-10-12T03:26:23.664410+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/26e3e9e0-638c-4304-9c80-b056f1cc19d5", "rel": "self"}, {"href": "http://localhost/deploy_templates/26e3e9e0-638c-4304-9c80-b056f1cc19d5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/451b6e0f-6657-4a9e-b57e-756a3a5c7cb2 [{'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-a3a6564e-9bf3-46de-967f-02dee857cb4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "451b6e0f-6657-4a9e-b57e-756a3a5c7cb2", "created_at": "2023-10-12T03:26:23.785221+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/451b6e0f-6657-4a9e-b57e-756a3a5c7cb2", "rel": "self"}, {"href": "http://localhost/deploy_templates/451b6e0f-6657-4a9e-b57e-756a3a5c7cb2", "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': '8213d1b1-2372-43b0-b9f0-b5c136f3aaac', '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/8213d1b1-2372-43b0-b9f0-b5c136f3aaac DEBUG util.py:445: Openstack-Request-Id: req-6731ac78-1f59-43c5-9bb4-2197e42b0b58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "8213d1b1-2372-43b0-b9f0-b5c136f3aaac", "created_at": "2023-10-12T03:26:24.001262+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8213d1b1-2372-43b0-b9f0-b5c136f3aaac", "rel": "self"}, {"href": "http://localhost/deploy_templates/8213d1b1-2372-43b0-b9f0-b5c136f3aaac", "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': 'def0a342-8367-4f7d-9d88-7fcd1e2729d7', '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': '14109859-e52d-4353-96eb-eddb299344a7', '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-e63ce0d0-0fcf-44f7-959c-da5f8e136fb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null' Failed validating 'type' in schema['properties']['extra']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 42, 'uuid': 'a095176b-497b-43b7-ac3b-5b34121914a3', '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-4425d71b-9b79-44e1-ac02-dae5504c38b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e1c377d5-b9c7-4eb1-983a-27f173cffc24', '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-cc7a965a-b227-4687-bdf0-8e29f5d809f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string' Failed validating 'type' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ae72dc8c-0c67-4db2-bbac-a46d8291fd60', '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-773f155c-ddb1-4d36-822c-fb545ba02817 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0 Failed validating 'minimum' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9eb805e5-5c42-42e6-a617-3102d304dc0d', '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-a6f2928f-84dd-4356-8e35-ca2613121db8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string' Failed validating 'type' in schema['properties']['steps']['items']['properties']['step']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': 'adb9d0ae-9567-4a00-b887-d40651d27cda', '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-296146bf-6b05-4e39-9c61-9e74d915a8a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.045279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.105862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.261400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.152973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.110512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.301500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.140577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.141079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.091541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.197007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.262296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.178351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.091264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.094519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.530300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.233634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.177639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.116090s] ... 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-e88fba9a-001a-420c-bf6e-b6bd1b89fb84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/5125b68c-cca8-4845-8fa0-a2294c5bca44 [{'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-4f20b2a8-444e-4a96-ab36-e381ba0c0e10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/62b973ec-9549-4ac3-bf2c-774e008d8740 [{'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-217ec7bd-2e10-4b87-9cb7-6d07dc276cbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/7b3e889e-5daa-422a-8a70-c71f2863b33a [{'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-ac72ca4f-a8d3-472b-b173-2506ff4c5e3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/27153d84-26d5-4de3-9e22-a92f2eefa38e [{'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-f5823f0a-023b-4fc9-be1b-4a9060a9b855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/52431e89-f232-4108-957f-d2a844d6a26d [{'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-1b10f31e-fe7a-4874-887e-c45a8bbd96d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['interface']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/c77f50c0-68bf-4049-a97c-39dba6af48b8 [{'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-6ee06416-fb86-4639-820c-5e00229c20b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c77f50c0-68bf-4049-a97c-39dba6af48b8", "created_at": "2023-10-12T03:26:24.909319+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c77f50c0-68bf-4049-a97c-39dba6af48b8", "rel": "self"}, {"href": "http://localhost/deploy_templates/c77f50c0-68bf-4049-a97c-39dba6af48b8", "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/5b7b3b72-5d45-4bd6-9308-6164522d21a4 [{'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-b8b596e4-293e-4f19-b78e-38fee1bb4433 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/6b48427b-c59c-41c1-8f35-294ee0b32b58 [{'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-2c0f4191-6d59-4faf-a010-8d1b5f5b7470 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['interface']\", \"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/434e1880-e89c-4dbb-bc46-81a8429e62aa DEBUG util.py:445: Openstack-Request-Id: req-4daf565f-a248-4428-9ca0-e367e4d899a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "434e1880-e89c-4dbb-bc46-81a8429e62aa", "created_at": "2023-10-12T03:26:25.307932+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/434e1880-e89c-4dbb-bc46-81a8429e62aa", "rel": "self"}, {"href": "http://localhost/deploy_templates/434e1880-e89c-4dbb-bc46-81a8429e62aa", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/434e1880-e89c-4dbb-bc46-81a8429e62aa {} DEBUG util.py:445: GOT:{'uuid': '434e1880-e89c-4dbb-bc46-81a8429e62aa', 'created_at': '2023-10-12T03:26:25.307932+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/434e1880-e89c-4dbb-bc46-81a8429e62aa', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/434e1880-e89c-4dbb-bc46-81a8429e62aa', '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': '4b3ff50a-ceb7-41e3-82da-578e71c191b8', '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-0bff88a6-91d3-4f51-b4cd-fa2f5f50f4d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.145614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.163726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.182954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.176206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.156338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.392983s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.095730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.111181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.094242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.163730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.154704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.208174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.189847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.132082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.095736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.213007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.095618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.035126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.088842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.243653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.163401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.074636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.131892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.099023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.307722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.190674s] ... 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-9dcde077-69d8-4220-89ed-adf0165e4b0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"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': ['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-e6d298e8-1bca-44e6-8b46-24709c2f34a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"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-c8a0c59b-c213-4ffe-9fa3-b3a3a8136e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/nodes/node-39/vifs {'id': '59edb985-139a-46df-94b4-54f134b81af2'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-4fd5eed3-a3f9-4584-bad8-9cda5377f678 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-717d0727-e14f-4d91-84cc-6f5df12bc73c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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: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: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-2445d4cc-763e-418b-86bd-e22694b4f03c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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.1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-50008708-357c-466c-93f6-9192af599c1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-97f860f1-40b0-4ba4-918d-63cb9a899505 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79fcf3fc-eef0-4bea-b96b-90f42e6abaf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-bd601a92-0a93-46d4-be28-18438f318149 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-94dba033-eca1-48e7-91a4-813eb638b613 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '223293ec-d007-497d-a4bd-16d84dbd16e1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/223293ec-d007-497d-a4bd-16d84dbd16e1', 'rel': 'self'}, {'href': 'http://localhost/nodes/223293ec-d007-497d-a4bd-16d84dbd16e1', 'rel': 'bookmark'}]}, {'uuid': '8506bb7e-0121-4b43-974a-a0e0379ae3ec', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8506bb7e-0121-4b43-974a-a0e0379ae3ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/8506bb7e-0121-4b43-974a-a0e0379ae3ec', 'rel': 'bookmark'}]}, {'uuid': 'e92af3ec-984a-40bd-b9bd-138ba0a05f4a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e92af3ec-984a-40bd-b9bd-138ba0a05f4a', 'rel': 'self'}, {'href': 'http://localhost/nodes/e92af3ec-984a-40bd-b9bd-138ba0a05f4a', '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=e92af3ec-984a-40bd-b9bd-138ba0a05f4a'} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:26.456202+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': '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.284176s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.149640s] ... ok DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'a47cabbe-f177-496e-a9ac-99622b168ccb', '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-9225f67f-f53e-4206-97bf-19fd1d10132c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b06665c-53f2-4447-834b-6192b7607d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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/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_boot_interface': None, 'enabled_boot_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['iscsi', 'direct']} 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=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-b0200d4b-bfdb-4ec3-a174-6a2eaa67e125 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?type=classic {} DEBUG util.py:445: GOT:{'drivers': []} 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_network_interface': None, 'enabled_network_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['iscsi', 'direct']}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_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'}]}{2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.368074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.135867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.177718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.229317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.296887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.181640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.177493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.275136s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.166896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.223932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.216001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.131126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.120471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.071526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.128909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.193189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.095475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.158561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.089640s] ... ok 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-9446ab17-2a73-465c-9e19-1a13662c35bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-c7f200a1-d2c6-41ac-81c8-e8257af014bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': ['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-4e0afcd8-4200-453a-955f-79cb39897707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"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-b8ce962b-c309-4daf-a467-7c5ec2be1fb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ad9e2e80-58df-4a8a-9f1f-c7767f5ae146 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property Failed validating 'required' in schema['properties']['events']['items']\", \"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-43ef162d-9b74-44f9-838d-b05553021112 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"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-3db0cbfc-c985-4068-9a5e-cdb6d16d262a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-47e38427-83c7-432f-ab40-5f45ca2ddc18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8a220612-d5d7-465d-b936-a7c32ef351e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5c4df490-5dc1-4105-a33b-4216be9ff8b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string' Failed validating 'type' in schema['properties']['status']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'b14f49c2-ad44-4dd9-97fd-cc613627f508'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5c0cfb85-fb12-4cca-8305-a01edae54e0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {'bad_id': '3e85dcdd-2c65-4a61-98a7-98b839d610cc'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-756a58f1-6bbe-43c5-8dfc-9750fd139c17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/d6cdf683-27fe-41ec-8c82-e08601b805d5 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c0d0bce0-be3a-43e1-85be-325dab4d39cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/d9a3f0b3-ca0e-4fd1-8211-7500475e1714 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7385b4ce-6adc-417e-bc10-d4c4d469a99a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2023-10-12T03:26:27.372184+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'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.261543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.099413s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.186287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.117772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.123786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.194230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.111996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.157905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.072426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.203718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.136109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.089842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.102217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.094360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.321322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.090282s] ... ok DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f3862e39-03a7-4168-88c0-e5b59590723c', '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-f58f4057-35dc-41e2-b0c9-dd482d73ce89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'd2ba49d6-05ea-4887-80db-5babfab528ce', '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-ed77fa7f-b9e3-4fc8-8a84-d2097d83ad15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"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-a3c6c6f6-b0f3-46a9-8c89-1d9ef6c10e45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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'} 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-fcba46a9-39fb-4f51-a662-de02ba1f31c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-383d4926-ea17-4c8e-8ea3-87344967613b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f6894f18-a9d8-463d-913e-62932cd80611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_bios_interface': None, 'enabled_bios_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['iscsi', 'direct'], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_storage_interface': None, 'enabled_storage_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?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-b4acc50e-38d8-4529-bfb0-dba1819ceada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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:{'foo': 'description of foo'} 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-b65fff9d-1b30-4e75-a2f1-d5f83e14682d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property Failed validating 'required' in schema['properties']['events']['items']\", \"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-301c306a-fce3-4a19-971b-7eb15ce75ee3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5d22fbed-12f4-44bc-a48b-13b1c0bf0d08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.218680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.176209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.156989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.128189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.084399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.286699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.120868s] ... 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://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:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49a68eee-9c55-4aa3-b8c3-40f35a11fcb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4716a75-d389-4210-8f4d-79e8a3987a22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3a56cbe1-9a3c-4811-9f14-d4f790888db7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5ab6a0a8-2bd1-4841-9395-45835eb224f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d94a0817-c823-4fcf-99d7-7915975a2e10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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' Failed validating 'type' in schema['properties']['binding:host_id']\", \"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-a946cb79-96ee-4187-b571-9a0a066f7001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.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-797ee58c-9cdc-48b6-87b5-663fa0b938bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6098e084-188b-43d9-a912-cc5273935d26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-2f9a3f99-0b12-4e37-8ad1-06e900af85a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.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-5b6d9bd3-7438-4c98-83a5-0e2c474df9e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-050b09bb-ad9d-4b5f-80be-fa060b7135fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.145370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.214249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.173081s] ... ok 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-62e8a34d-cb5e-412d-8272-df1865ae7f19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68db0d3a-cd48-49c0-951a-24469116691e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-eefbc100-b84b-4678-9b30-acb80df636b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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?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': '6b304664-aa4d-4762-b070-bf046c91e230', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '8f2f8be8-8887-4e62-bd1d-93a6b0c85e7f', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/6b304664-aa4d-4762-b070-bf046c91e230', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b304664-aa4d-4762-b070-bf046c91e230', 'rel': 'bookmark'}]}, {'uuid': '0a17cc09-f2bd-4aa5-a2da-5c0ffed16948', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'fe9ccb7c-108b-4598-9567-33dc1112671d', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/0a17cc09-f2bd-4aa5-a2da-5c0ffed16948', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a17cc09-f2bd-4aa5-a2da-5c0ffed16948', 'rel': 'bookmark'}]}, {'uuid': 'e1266259-d705-439c-976f-ccf3a5d2f482', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'aa19b12c-f546-455d-8393-4b78d0e67950', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/e1266259-d705-439c-976f-ccf3a5d2f482', 'rel': 'self'}, {'href': 'http://localhost/nodes/e1266259-d705-439c-976f-ccf3a5d2f482', 'rel': 'bookmark'}]}]} 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=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/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,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-acc27cc9-089f-4425-ac5c-9c414c05912b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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/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-1cf85868-51e0-4bc9-bb83-7ad5416c7840 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_group=group1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '2276e4ad-0273-4f58-bc98-dc958eb584c0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0', 'rel': 'self'}, {'href': 'http://localhost/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor_group=group2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'c820bac4-9509-46cf-8286-113d84faae6c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/c820bac4-9509-46cf-8286-113d84faae6c', 'rel': 'self'}, {'href': 'http://localhost/nodes/c820bac4-9509-46cf-8286-113d84faae6c', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '2276e4ad-0273-4f58-bc98-dc958eb584c0', 'created_at': '2023-10-12T03:26:28.423180+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/2276e4ad-0273-4f58-bc98-dc958eb584c0', 'rel': 'self'}, {'href': 'http://localhost/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/2276e4ad-0273-4f58-bc98-dc958eb584c0/volume', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.289339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.340470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.149522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.170553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.192123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.139828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.309641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.107072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.290112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.098327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.400549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.112578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.315266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.065993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.340455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.293435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.144750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.163002s] ... ok DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'c820bac4-9509-46cf-8286-113d84faae6c', 'created_at': '2023-10-12T03:26:28.426719+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/c820bac4-9509-46cf-8286-113d84faae6c', 'rel': 'self'}, {'href': 'http://localhost/nodes/c820bac4-9509-46cf-8286-113d84faae6c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c820bac4-9509-46cf-8286-113d84faae6c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c820bac4-9509-46cf-8286-113d84faae6c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c820bac4-9509-46cf-8286-113d84faae6c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c820bac4-9509-46cf-8286-113d84faae6c/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c820bac4-9509-46cf-8286-113d84faae6c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c820bac4-9509-46cf-8286-113d84faae6c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c820bac4-9509-46cf-8286-113d84faae6c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c820bac4-9509-46cf-8286-113d84faae6c/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?description_contains=cat {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'bebba8db-013f-48f0-b356-e26c50e34239', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/bebba8db-013f-48f0-b356-e26c50e34239', 'rel': 'self'}, {'href': 'http://localhost/nodes/bebba8db-013f-48f0-b356-e26c50e34239', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?description_contains=dog {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '839895df-b3bd-46aa-b6e6-c45d7024233f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/839895df-b3bd-46aa-b6e6-c45d7024233f', 'rel': 'self'}, {'href': 'http://localhost/nodes/839895df-b3bd-46aa-b6e6-c45d7024233f', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=test {} DEBUG util.py:445: GOT:{'nodes': []} 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-8a813dc9-ef7f-41ec-a7a3-bba9d07ce06c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3524031b-db0a-4cfd-85c9-b5dd91c7ce54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-ce0cb038-7346-456c-9ac6-125e7529542e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-645d1003-929d-44ea-8db3-d44fe0759cce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-be026a9d-ed10-4bca-aafa-ba5399ef6cd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:29.454753+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': '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?fields=storage_interface {}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.187729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.352290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.283080s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.112671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.188222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.355241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.058527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.248109s] ... ok 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-570d171f-90ad-430e-912f-8ca07e113a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-34c7e8c1-d13b-49c5-9b25-16577d616ea2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-471654a3-e46a-4395-a26f-eea93ab4f7b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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': '2023-10-12T03:26:28.549708+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': '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, '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': '2023-10-12T03:26:28.866032+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': '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, '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=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/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-b82125e1-d7de-4244-8541-02a46d781cc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.221932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.136950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.215258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.324758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.259793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.166331s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.171200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.131619s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.176363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.170572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.167592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.095778s] ... 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.053731s] ... ok DEBUG util.py:445: POST: /v1/nodes/node-39/vifs {'id': '3ff5499d-b3d9-4356-b2f1-1271f54ee438'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6b1571e-b089-4f79-a210-7d7d267bc983 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '3b31bd5c-f024-45b6-b2ae-2ba19f10ba54'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58cfe9f5-70f0-4d1f-840d-3bada07647e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:{'virtualization': {'created_at': '2023-10-12T03:26:29.053136+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/foo.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-935337da-18bd-4de3-b75a-f1bcec425454 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-16a18edd-0442-4ec7-8332-35a3c1242750 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-0f4d23a1-4b9b-4131-bbfd-93140d966053 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: GET: /v1/nodes?fields=driver_info,uuid {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'dfe7d756-2895-4649-8900-68d9e87b7fcf', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/dfe7d756-2895-4649-8900-68d9e87b7fcf', 'rel': 'self'}, {'href': 'http://localhost/nodes/dfe7d756-2895-4649-8900-68d9e87b7fcf', 'rel': 'bookmark'}]}, {'uuid': '12fde612-1532-42e7-9a28-b933ecda918c', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/12fde612-1532-42e7-9a28-b933ecda918c', 'rel': 'self'}, {'href': 'http://localhost/nodes/12fde612-1532-42e7-9a28-b933ecda918c', 'rel': 'bookmark'}]}, {'uuid': 'b66497b4-84b2-4709-a213-acb4b12e86de', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/b66497b4-84b2-4709-a213-acb4b12e86de', 'rel': 'self'}, {'href': 'http://localhost/nodes/b66497b4-84b2-4709-a213-acb4b12e86de', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=b66497b4-84b2-4709-a213-acb4b12e86de'} 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/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'cc5faf47-6924-4e67-8f77-25e1e080a910', 'created_at': '2023-10-12T03:26:30.497394+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/cc5faf47-6924-4e67-8f77-25e1e080a910', 'rel': 'self'}, {'href': 'http://localhost/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/cc5faf47-6924-4e67-8f77-25e1e080a910/volume', 'rel': 'bookmark'}]}, {'uuid': 'd741625a-fe50-456a-a65e-73539f2cb5ed', 'created_at': '2023-10-12T03:26:30.501208+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/d741625a-fe50-456a-a65e-73539f2cb5ed', 'rel': 'self'}, {'href': 'http://localhost/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d741625a-fe50-456a-a65e-73539f2cb5ed/volume', 'rel': 'bookmark'}]}, {'uuid': '84dc0762-1251-4ee2-af22-2acfd1babc2a', 'created_at': '2023-10-12T03:26:30.504101+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/84dc0762-1251-4ee2-af22-2acfd1babc2a', 'rel': 'self'}, {'href': 'http://localhost/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/84dc0762-1251-4ee2-af22-2acfd1babc2a/volume', 'rel': 'bookmark'}]}, {'uuid': 'f6a53e42-094c-4ee8-8ed6-7fe891c8c631', 'created_at': '2023-10-12T03:26:30.507015+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/f6a53e42-094c-4ee8-8ed6-7fe891c8c631', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6a53e42-094c-4ee8-8ed6-7fe891c8c631/volume', 'rel': 'bookmark'}]}, {'uuid': 'd7b8efc7-984e-4ead-b5b4-bb1082bdd2c1', 'created_at': '2023-10-12T03:26:30.522605+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/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7b8efc7-984e-4ead-b5b4-bb1082bdd2c1/volume', 'rel': 'bookmark'}]}, {'uuid': '82593027-9836-4ddd-b66a-cb33a596e16a', 'created_at': '2023-10-12T03:26:30.525541+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/82593027-9836-4ddd-b66a-cb33a596e16a', 'rel': 'self'}, {'href': 'http://localhost/nodes/82593027-9836-4ddd-b66a-cb33a596e16a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/82593027-9836-4ddd-b66a-cb33a596e16a/volume', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.156776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.084636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.094905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.134547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.155251s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.210537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.114668s] ... ok 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?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-914d8633-1122-4831-9121-fa4fa1b16ca8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '2023-10-12T03:26:29.891495+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': '2023-10-12T03:26:29.891495+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': '2023-10-12T03:26:30.201995+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': '2023-10-12T03:26:30.201995+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 {}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.299463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.251538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.060992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.134791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.117754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.101025s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:30.499194+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': '2023-10-12T03:26:30.499194+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': '2023-10-12T03:26:30.713451+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': '2023-10-12T03:26:30.713451+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'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:30.967796+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': '2023-10-12T03:26:30.967796+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'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.196638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.088016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.051150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.048643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.348146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.186125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.119865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.090570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.094153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.153442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.121109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.130659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.110036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.093014s] ... 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-1f36c035-5c3d-41ce-b2f6-25519d929f64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6a7d4906-74eb-4373-83fa-71365df06410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string' Failed validating 'type' in schema['properties']['status']\", \"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-3c0c8d43-c213-412b-afdb-4b08edf7866e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property Failed validating 'required' in schema\", \"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-20900817-c290-49d9-8c53-5e8457a9419c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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' Failed validating 'type' in schema['properties']['binding:host_id']\", \"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-b99fe592-889d-4704-a331-d7bc9fbd4b0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/nodes/doesntexist/vifs {'id': 'b9798d3a-2fa6-458d-a52d-67f9163165fa'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-589975c3-c313-4ea2-a11d-5b92f9f058e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '6d354279-b4cb-43e5-9b3f-03cfc93e8ee9', '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-3d0fa534-fe90-4092-b8db-5d37fe34d420 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '687f6bec-d691-4a89-bbd0-d5205be18909', '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-be64d0ad-2a54-4b16-b53b-0e6b6b20a9c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/abece2c1-e79e-49fc-bbcd-36a38b86c21c DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-183e6b53-b055-48b3-9b4b-4c4e951dc551 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/doesntexist/vifs/a6d5df8c-3eeb-41c9-98a2-919533eeabe4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6f5ec4c-9707-4564-80a3-3365db85e509 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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/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-214c7fb4-50f5-47a9-ba4e-92c61e45bb3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} 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-abf8646f-583f-43b1-97f4-e0bc87c95e7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-47844c50-6720-4dcb-a0fe-d5984f3b1d54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed0e1f01-bd43-4daf-9719-16046a91e614 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-643c536e-8177-47df-8b11-5cd45f47560a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?associated=blah {}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.177602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.190028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.093416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.335857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.292214s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.049003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.047755s] ... ok 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': 'c4dea01d-6d15-4504-a60a-25e112f762e8', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/c4dea01d-6d15-4504-a60a-25e112f762e8', 'rel': 'self'}, {'href': 'http://localhost/nodes/c4dea01d-6d15-4504-a60a-25e112f762e8', 'rel': 'bookmark'}]}, {'uuid': 'f4bd332e-bd0c-49b1-9d5c-61603ee2a897', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/f4bd332e-bd0c-49b1-9d5c-61603ee2a897', 'rel': 'self'}, {'href': 'http://localhost/nodes/f4bd332e-bd0c-49b1-9d5c-61603ee2a897', 'rel': 'bookmark'}]}, {'uuid': 'a119ad8f-7c04-4d85-a6c3-6fce2b12527e', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/a119ad8f-7c04-4d85-a6c3-6fce2b12527e', 'rel': 'self'}, {'href': 'http://localhost/nodes/a119ad8f-7c04-4d85-a6c3-6fce2b12527e', '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/83cf0ca5-df46-4e67-91c2-007ea7f848ae', 'rel': 'self'}, {'href': 'http://localhost/nodes/83cf0ca5-df46-4e67-91c2-007ea7f848ae', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b8814a26-cb93-4fb5-9066-1e23dcf9e287', 'rel': 'self'}, {'href': 'http://localhost/nodes/b8814a26-cb93-4fb5-9066-1e23dcf9e287', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=b8814a26-cb93-4fb5-9066-1e23dcf9e287'} 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-d3d93b2b-e6e8-4c70-a95b-985f0172a3b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/states/console {} DEBUG util.py:445: GOT:{'console_enabled': False, 'console_info': None} 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-6f7557ab-0398-4a17-8f20-62bed55ce943 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-01c9725c-3f14-46fa-a850-3a5eb94b08d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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-bdc38cd7-ea56-4221-9e59-e8076f83b1f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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:{'nodes': [{'uuid': '3b16e930-21fe-4b64-a528-099b06b250e3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3b16e930-21fe-4b64-a528-099b06b250e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b16e930-21fe-4b64-a528-099b06b250e3', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8b241eb5-0a65-4555-9355-428b33b9148d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/8b241eb5-0a65-4555-9355-428b33b9148d', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b241eb5-0a65-4555-9355-428b33b9148d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=power failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3b16e930-21fe-4b64-a528-099b06b250e3', 'created_at': '2023-10-12T03:26:31.576289+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/3b16e930-21fe-4b64-a528-099b06b250e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b16e930-21fe-4b64-a528-099b06b250e3', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b16e930-21fe-4b64-a528-099b06b250e3/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8b241eb5-0a65-4555-9355-428b33b9148d', 'created_at': '2023-10-12T03:26:31.580255+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/8b241eb5-0a65-4555-9355-428b33b9148d', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b241eb5-0a65-4555-9355-428b33b9148d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b241eb5-0a65-4555-9355-428b33b9148d/volume', 'rel': 'bookmark'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.289460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.097562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.240180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.254094s] ... ok 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-cb93ae23-4743-44f8-a1d5-ed652424e4ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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=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-f3e60527-798c-4632-87b6-8de0678e63d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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/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-ba7ad871-b502-4ea2-bc6c-dd1f0ee8ffe1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_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-2e1e6ba3-327e-46ad-af12-78b41176b230 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef9bb902-cd16-48ed-b328-2b1d0e960102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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?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': '9a916698-8bb8-427f-ae8c-f7668f5dad32', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9a916698-8bb8-427f-ae8c-f7668f5dad32', 'rel': 'self'}, {'href': 'http://localhost/nodes/9a916698-8bb8-427f-ae8c-f7668f5dad32', 'rel': 'bookmark'}]}, {'uuid': '3eb2f976-cf97-4589-881b-e04e6ed786d8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3eb2f976-cf97-4589-881b-e04e6ed786d8', 'rel': 'self'}, {'href': 'http://localhost/nodes/3eb2f976-cf97-4589-881b-e04e6ed786d8', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor=fake.conductor {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3eb2f976-cf97-4589-881b-e04e6ed786d8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3eb2f976-cf97-4589-881b-e04e6ed786d8', 'rel': 'self'}, {'href': 'http://localhost/nodes/3eb2f976-cf97-4589-881b-e04e6ed786d8', '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-046e27e2-a3e4-4c4c-ba46-1e391f46789a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-39bb0179-08a4-42ea-88e6-b25f2c4f8bbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?driver=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-4eb99149-257f-42d0-b34b-04bcd1899cb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-4ae1fbbc-2156-4dca-9b9e-28ff91561398 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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/node.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:32.063623+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': '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, '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'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.186590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.093480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.060218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.092152s] ... ok DEBUG util.py:445: GET: /v1/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2 {} DEBUG util.py:445: GOT:{'uuid': 'b41d6e03-5d55-4cab-92fa-74a3284051e2', 'created_at': '2023-10-12T03:26:31.149447+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/b41d6e03-5d55-4cab-92fa-74a3284051e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2 {} DEBUG util.py:445: GOT:{'uuid': 'b41d6e03-5d55-4cab-92fa-74a3284051e2', 'created_at': '2023-10-12T03:26:31.149447+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/b41d6e03-5d55-4cab-92fa-74a3284051e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2 {} DEBUG util.py:445: GOT:{'uuid': 'b41d6e03-5d55-4cab-92fa-74a3284051e2', 'created_at': '2023-10-12T03:26:31.149447+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/b41d6e03-5d55-4cab-92fa-74a3284051e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b41d6e03-5d55-4cab-92fa-74a3284051e2/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '48ea0899-f9f1-4e73-accc-d33983df16d4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/48ea0899-f9f1-4e73-accc-d33983df16d4', 'rel': 'self'}, {'href': 'http://localhost/nodes/48ea0899-f9f1-4e73-accc-d33983df16d4', 'rel': 'bookmark'}]}, {'uuid': '4a8cc9b9-5768-43aa-9094-01f0c3947d7d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4a8cc9b9-5768-43aa-9094-01f0c3947d7d', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a8cc9b9-5768-43aa-9094-01f0c3947d7d', 'rel': 'bookmark'}]}, {'uuid': 'd4813e5c-d06e-4e96-ae4e-c1740a356e75', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d4813e5c-d06e-4e96-ae4e-c1740a356e75', 'rel': 'self'}, {'href': 'http://localhost/nodes/d4813e5c-d06e-4e96-ae4e-c1740a356e75', 'rel': 'bookmark'}]}, {'uuid': 'a30b9ceb-1105-44bd-ab55-47dc5de9525d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a30b9ceb-1105-44bd-ab55-47dc5de9525d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a30b9ceb-1105-44bd-ab55-47dc5de9525d', 'rel': 'bookmark'}]}, {'uuid': '855c8bb0-cd54-4065-adc2-acdb8c6cf2c7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/855c8bb0-cd54-4065-adc2-acdb8c6cf2c7', 'rel': 'self'}, {'href': 'http://localhost/nodes/855c8bb0-cd54-4065-adc2-acdb8c6cf2c7', '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-b738dd16-a78e-4003-b7f2-2dc0bc8e3d03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '009a6830-ad2d-4a78-8307-ffeb325f2352', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/009a6830-ad2d-4a78-8307-ffeb325f2352', 'rel': 'self'}, {'href': 'http://localhost/nodes/009a6830-ad2d-4a78-8307-ffeb325f2352', 'rel': 'bookmark'}]}, {'uuid': '71064c02-8281-4f93-a5c8-31e917c418af', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/71064c02-8281-4f93-a5c8-31e917c418af', 'rel': 'self'}, {'href': 'http://localhost/nodes/71064c02-8281-4f93-a5c8-31e917c418af', 'rel': 'bookmark'}]}, {'uuid': 'ada8d238-4478-4cf9-aed4-6148b3563800', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ada8d238-4478-4cf9-aed4-6148b3563800', 'rel': 'self'}, {'href': 'http://localhost/nodes/ada8d238-4478-4cf9-aed4-6148b3563800', 'rel': 'bookmark'}]}, {'uuid': '169d771d-952f-4d6b-badf-b15501fd6b3a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/169d771d-952f-4d6b-badf-b15501fd6b3a', 'rel': 'self'}, {'href': 'http://localhost/nodes/169d771d-952f-4d6b-badf-b15501fd6b3a', 'rel': 'bookmark'}]}, {'uuid': '3cbc2d27-4aad-4f9f-8a4d-c11a94f59570', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3cbc2d27-4aad-4f9f-8a4d-c11a94f59570', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cbc2d27-4aad-4f9f-8a4d-c11a94f59570', 'rel': 'bookmark'}]}, {'uuid': '7b63f6e4-29ca-410a-92fd-58e49b3c17ba', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7b63f6e4-29ca-410a-92fd-58e49b3c17ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b63f6e4-29ca-410a-92fd-58e49b3c17ba', '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': '2023-10-12T03:26:31.974149+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'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.284022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.206855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.078514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.271586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.183167s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.084330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.089204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.045677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.064774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.218035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.035832s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.228693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.093311s] ... 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-bf1eaceb-587b-4309-b75c-6b799a9b27f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '0c9e36bb-8412-4c6c-ad68-727a03375d04', 'instance_uuid': 'cc266c17-e740-44ad-a515-81ee6feac732', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0c9e36bb-8412-4c6c-ad68-727a03375d04', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c9e36bb-8412-4c6c-ad68-727a03375d04', 'rel': 'bookmark'}]}, {'uuid': 'c0e8fcf6-3cda-4a8e-b9c5-da9e4c48528c', 'instance_uuid': '11c4ba4e-e73f-4e23-a67e-7d7057cc8f19', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c0e8fcf6-3cda-4a8e-b9c5-da9e4c48528c', 'rel': 'self'}, {'href': 'http://localhost/nodes/c0e8fcf6-3cda-4a8e-b9c5-da9e4c48528c', 'rel': 'bookmark'}]}, {'uuid': '7fc804fb-eca4-461f-a58a-211259694617', 'instance_uuid': '2daa2578-0f50-4ae2-a427-39f149c7c356', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7fc804fb-eca4-461f-a58a-211259694617', 'rel': 'self'}, {'href': 'http://localhost/nodes/7fc804fb-eca4-461f-a58a-211259694617', 'rel': 'bookmark'}]}, {'uuid': '4d6628ee-d261-4701-8923-f96b9f6aa2ea', 'instance_uuid': '00976e00-3fb2-42ca-9cba-51af9e43bbde', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4d6628ee-d261-4701-8923-f96b9f6aa2ea', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d6628ee-d261-4701-8923-f96b9f6aa2ea', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '0c9e36bb-8412-4c6c-ad68-727a03375d04', 'instance_uuid': 'cc266c17-e740-44ad-a515-81ee6feac732', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0c9e36bb-8412-4c6c-ad68-727a03375d04', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c9e36bb-8412-4c6c-ad68-727a03375d04', 'rel': 'bookmark'}]}, {'uuid': 'c0e8fcf6-3cda-4a8e-b9c5-da9e4c48528c', 'instance_uuid': '11c4ba4e-e73f-4e23-a67e-7d7057cc8f19', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c0e8fcf6-3cda-4a8e-b9c5-da9e4c48528c', 'rel': 'self'}, {'href': 'http://localhost/nodes/c0e8fcf6-3cda-4a8e-b9c5-da9e4c48528c', 'rel': 'bookmark'}]}, {'uuid': '7fc804fb-eca4-461f-a58a-211259694617', 'instance_uuid': '2daa2578-0f50-4ae2-a427-39f149c7c356', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7fc804fb-eca4-461f-a58a-211259694617', 'rel': 'self'}, {'href': 'http://localhost/nodes/7fc804fb-eca4-461f-a58a-211259694617', 'rel': 'bookmark'}]}, {'uuid': '4d6628ee-d261-4701-8923-f96b9f6aa2ea', 'instance_uuid': '00976e00-3fb2-42ca-9cba-51af9e43bbde', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4d6628ee-d261-4701-8923-f96b9f6aa2ea', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d6628ee-d261-4701-8923-f96b9f6aa2ea', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/?limit=3 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'fb0ae132-0a50-4c58-b5c3-fac61d4f8d26', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fb0ae132-0a50-4c58-b5c3-fac61d4f8d26', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb0ae132-0a50-4c58-b5c3-fac61d4f8d26', 'rel': 'bookmark'}]}, {'uuid': 'cced8cb7-ef98-49cd-b3f9-c4927e181afa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/cced8cb7-ef98-49cd-b3f9-c4927e181afa', 'rel': 'self'}, {'href': 'http://localhost/nodes/cced8cb7-ef98-49cd-b3f9-c4927e181afa', 'rel': 'bookmark'}]}, {'uuid': 'bb8294a0-79a4-48c0-9b4f-9efc0a8ece36', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bb8294a0-79a4-48c0-9b4f-9efc0a8ece36', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb8294a0-79a4-48c0-9b4f-9efc0a8ece36', '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=bb8294a0-79a4-48c0-9b4f-9efc0a8ece36'} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=400c5810-6962-4267-a5a3-7c6ee12872e4 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b45cac61-cd11-46ae-b151-8f765e913843', 'instance_uuid': '400c5810-6962-4267-a5a3-7c6ee12872e4', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b45cac61-cd11-46ae-b151-8f765e913843', 'rel': 'self'}, {'href': 'http://localhost/nodes/b45cac61-cd11-46ae-b151-8f765e913843', 'rel': 'bookmark'}]}]} 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-7484848f-db7c-4b5b-bc29-595bd437dc13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?sort_key=resource_class {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'a3925403-59db-444b-bc7e-a0f8922d2bc9', 'created_at': '2023-10-12T03:26:32.568437+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/a3925403-59db-444b-bc7e-a0f8922d2bc9', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3925403-59db-444b-bc7e-a0f8922d2bc9', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a3925403-59db-444b-bc7e-a0f8922d2bc9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3925403-59db-444b-bc7e-a0f8922d2bc9/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a3925403-59db-444b-bc7e-a0f8922d2bc9/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3925403-59db-444b-bc7e-a0f8922d2bc9/states', 'rel': 'bookmark'}]}, {'uuid': 'e58f254d-8908-4044-9f5d-ddd8601c2c8a', 'created_at': '2023-10-12T03:26:32.565216+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/e58f254d-8908-4044-9f5d-ddd8601c2c8a', 'rel': 'self'}, {'href': 'http://localhost/nodes/e58f254d-8908-4044-9f5d-ddd8601c2c8a', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e58f254d-8908-4044-9f5d-ddd8601c2c8a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e58f254d-8908-4044-9f5d-ddd8601c2c8a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e58f254d-8908-4044-9f5d-ddd8601c2c8a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e58f254d-8908-4044-9f5d-ddd8601c2c8a/states', 'rel': 'bookmark'}]}, {'uuid': 'c6443ccf-a6db-4d05-a507-0c5484bc76ca', 'created_at': '2023-10-12T03:26:32.530546+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/c6443ccf-a6db-4d05-a507-0c5484bc76ca', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6443ccf-a6db-4d05-a507-0c5484bc76ca', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c6443ccf-a6db-4d05-a507-0c5484bc76ca/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6443ccf-a6db-4d05-a507-0c5484bc76ca/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c6443ccf-a6db-4d05-a507-0c5484bc76ca/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6443ccf-a6db-4d05-a507-0c5484bc76ca/states', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.214099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.117554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.138625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.076815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.070428s] ... ok DEBUG util.py:445: GET: /v1/nodes/test.1 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:32.150407+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': '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, '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/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-85a09d2c-f61a-44b6-a9a2-7c091078cea2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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:{'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?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-923cb20a-0101-42c9-888c-e597ff9f63c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:32.606215+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': '2023-10-12T03:26:32.705649+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'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.055693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.147222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.272946s] ... 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': '2023-10-12T03:26:32.768178+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': '2023-10-12T03:26:32.768178+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': '2023-10-12T03:26:32.924669+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': '2023-10-12T03:26:32.924669+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'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.148295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.146606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.134981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.158110s] ... ok 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-62cf5cb3-31c5-40da-81ba-360bc7a55b67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-97a239dd-4fee-4f92-8e6e-49a3ee715278 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-ea904e8f-5644-46f2-8d3c-25a3e9baae94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/detail?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': '12b449a0-f1d3-491f-94bc-5ce68e051042', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/12b449a0-f1d3-491f-94bc-5ce68e051042', 'rel': 'self'}, {'href': 'http://localhost/nodes/12b449a0-f1d3-491f-94bc-5ce68e051042', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '4f478ad5-45d8-4325-b71c-575e2c6798ad', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/4f478ad5-45d8-4325-b71c-575e2c6798ad', 'rel': 'self'}, {'href': 'http://localhost/nodes/4f478ad5-45d8-4325-b71c-575e2c6798ad', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=foo {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'e2696ecd-0a0f-4181-a5f9-2dec02402729', 'created_at': '2023-10-12T03:26:32.655836+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/e2696ecd-0a0f-4181-a5f9-2dec02402729', 'rel': 'self'}, {'href': 'http://localhost/nodes/e2696ecd-0a0f-4181-a5f9-2dec02402729', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e2696ecd-0a0f-4181-a5f9-2dec02402729/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e2696ecd-0a0f-4181-a5f9-2dec02402729/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e2696ecd-0a0f-4181-a5f9-2dec02402729/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e2696ecd-0a0f-4181-a5f9-2dec02402729/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b6e1e2b2-9ea5-461c-b6e9-2891bdce2dc6', 'created_at': '2023-10-12T03:26:32.658997+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/b6e1e2b2-9ea5-461c-b6e9-2891bdce2dc6', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e1e2b2-9ea5-461c-b6e9-2891bdce2dc6', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b6e1e2b2-9ea5-461c-b6e9-2891bdce2dc6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e1e2b2-9ea5-461c-b6e9-2891bdce2dc6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b6e1e2b2-9ea5-461c-b6e9-2891bdce2dc6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b6e1e2b2-9ea5-461c-b6e9-2891bdce2dc6/states', '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-04f3271d-e1a4-4b08-8c29-07b2deb1a8a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-cf88feb6-0ba2-46e2-b1cf-b914f977e26f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/node.json.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:33.051688+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': '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, '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'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.199273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.195496s] ... 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': '2023-10-12T03:26:31.974149+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/?limit=3&associated=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '4c79b381-7562-450b-9539-df4500597255', 'instance_uuid': '8c6fd36f-c78d-45ae-8c29-853cdd8f9409', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4c79b381-7562-450b-9539-df4500597255', 'rel': 'self'}, {'href': 'http://localhost/nodes/4c79b381-7562-450b-9539-df4500597255', 'rel': 'bookmark'}]}, {'uuid': '833f8115-89d1-4205-8bce-808c7f1be977', 'instance_uuid': 'd195939b-870e-4b70-b255-7bd4e6422556', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/833f8115-89d1-4205-8bce-808c7f1be977', 'rel': 'self'}, {'href': 'http://localhost/nodes/833f8115-89d1-4205-8bce-808c7f1be977', 'rel': 'bookmark'}]}, {'uuid': 'f1436c95-11d6-4dfc-b892-633e496ea08b', 'instance_uuid': '6bbf922a-cfc1-498d-9b06-3ed97cb5c008', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f1436c95-11d6-4dfc-b892-633e496ea08b', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1436c95-11d6-4dfc-b892-633e496ea08b', '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=f1436c95-11d6-4dfc-b892-633e496ea08b'} 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': '2023-10-12T03:26:32.459891+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:32.459891+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': '2023-10-12T03:26:32.714503+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'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.268167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.246515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.148118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.099013s] ... 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-9f14c0fb-62d0-435e-b658-1cedc1240056 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:32.952015+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': '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?associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '19b18c43-3daf-4c82-9272-5bcc07ca61a1', 'created_at': '2023-10-12T03:26:33.102679+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': '527f99cd-94bf-43db-a2d2-f29ccadb0bfe', '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/19b18c43-3daf-4c82-9272-5bcc07ca61a1', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b18c43-3daf-4c82-9272-5bcc07ca61a1', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/19b18c43-3daf-4c82-9272-5bcc07ca61a1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b18c43-3daf-4c82-9272-5bcc07ca61a1/ports', 'rel': 'bookmark'}]}, {'uuid': '7644d7bd-bb7c-49d8-a78a-97123a1848cd', 'created_at': '2023-10-12T03:26:33.109554+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': '11313bc5-1ad1-4a58-9383-adeda54de919', '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/7644d7bd-bb7c-49d8-a78a-97123a1848cd', 'rel': 'self'}, {'href': 'http://localhost/nodes/7644d7bd-bb7c-49d8-a78a-97123a1848cd', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7644d7bd-bb7c-49d8-a78a-97123a1848cd/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7644d7bd-bb7c-49d8-a78a-97123a1848cd/ports', 'rel': 'bookmark'}]}, {'uuid': 'a923ec35-d31d-45e8-92d6-459cf938773c', 'created_at': '2023-10-12T03:26:33.112633+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': 'a2580cec-cc49-49bf-b0e4-633057e2a53b', '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/a923ec35-d31d-45e8-92d6-459cf938773c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a923ec35-d31d-45e8-92d6-459cf938773c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a923ec35-d31d-45e8-92d6-459cf938773c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a923ec35-d31d-45e8-92d6-459cf938773c/ports', 'rel': 'bookmark'}]}, {'uuid': '7b1c6f5a-38fa-4f6b-9354-f4c97faa71f0', 'created_at': '2023-10-12T03:26:33.115540+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': '179aa7ff-e659-4ea5-83bf-c4bafd067ace', '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/7b1c6f5a-38fa-4f6b-9354-f4c97faa71f0', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b1c6f5a-38fa-4f6b-9354-f4c97faa71f0', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7b1c6f5a-38fa-4f6b-9354-f4c97faa71f0/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7b1c6f5a-38fa-4f6b-9354-f4c97faa71f0/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=2fe22b4d-2cf8-4b33-8708-9d8562d9223e {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '44a21795-1308-40d7-b208-03d41ec5e9a6', 'created_at': '2023-10-12T03:26:33.267521+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': '2fe22b4d-2cf8-4b33-8708-9d8562d9223e', '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/44a21795-1308-40d7-b208-03d41ec5e9a6', 'rel': 'self'}, {'href': 'http://localhost/nodes/44a21795-1308-40d7-b208-03d41ec5e9a6', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/44a21795-1308-40d7-b208-03d41ec5e9a6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/44a21795-1308-40d7-b208-03d41ec5e9a6/ports', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.078894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.093110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.124896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.172708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.123505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.111106s] ... 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': '2023-10-12T03:26:33.056004+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': '2023-10-12T03:26:33.226942+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': '2023-10-12T03:26:33.226942+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/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': '2023-10-12T03:26:33.493526+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'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.190132s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.153252s] ... 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': '2023-10-12T03:26:32.714503+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?instance_uuid=35a9fe7e-b793-49ed-9ac4-46287f041d32 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '30607e5d-7d0f-4dbd-aa29-43035c45f3b8', 'instance_uuid': '35a9fe7e-b793-49ed-9ac4-46287f041d32', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/30607e5d-7d0f-4dbd-aa29-43035c45f3b8', 'rel': 'self'}, {'href': 'http://localhost/nodes/30607e5d-7d0f-4dbd-aa29-43035c45f3b8', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=2b43d84b-a116-440d-b5f3-18875e336dca {} 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': '2023-10-12T03:26:33.314505+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'}]} 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': '2023-10-12T03:26:33.440160+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': '2023-10-12T03:26:33.440160+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_lessee_hidden_in_lower_version [0.176683s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.185324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.164786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.176024s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.147077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.105982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.150539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.165140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.142387s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.314466s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.181324s] ... 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': '2023-10-12T03:26:33.634513+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': '2023-10-12T03:26:33.634513+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': '2023-10-12T03:26:33.810009+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/33358d4a-aa37-4d5a-a001-206fc090e303 {} DEBUG util.py:445: GOT:{'uuid': '33358d4a-aa37-4d5a-a001-206fc090e303', 'created_at': '2023-10-12T03:26:33.932144+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/33358d4a-aa37-4d5a-a001-206fc090e303', 'rel': 'self'}, {'href': 'http://localhost/nodes/33358d4a-aa37-4d5a-a001-206fc090e303', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/33358d4a-aa37-4d5a-a001-206fc090e303/volume', 'rel': 'bookmark'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.270277s] ... 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': '2023-10-12T03:26:33.493526+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 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:33.698467+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': '2023-10-12T03:26:33.698467+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/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '5f778078-dff9-4c41-9fd8-12375a32b43d', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/5f778078-dff9-4c41-9fd8-12375a32b43d', 'rel': 'self'}, {'href': 'http://localhost/ports/5f778078-dff9-4c41-9fd8-12375a32b43d', 'rel': 'bookmark'}]}, {'uuid': 'efc997de-fb72-47c0-9c4a-1b2e51b69e32', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/efc997de-fb72-47c0-9c4a-1b2e51b69e32', 'rel': 'self'}, {'href': 'http://localhost/ports/efc997de-fb72-47c0-9c4a-1b2e51b69e32', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '5f778078-dff9-4c41-9fd8-12375a32b43d', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/5f778078-dff9-4c41-9fd8-12375a32b43d', 'rel': 'self'}, {'href': 'http://localhost/ports/5f778078-dff9-4c41-9fd8-12375a32b43d', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=5f778078-dff9-4c41-9fd8-12375a32b43d'} DEBUG util.py:445: GET: /v1/nodes?associated=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'c0edf4cd-ebab-4180-92fe-0e0bf3e89fd1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c0edf4cd-ebab-4180-92fe-0e0bf3e89fd1', 'rel': 'self'}, {'href': 'http://localhost/nodes/c0edf4cd-ebab-4180-92fe-0e0bf3e89fd1', 'rel': 'bookmark'}]}, {'uuid': '6ea9525b-cd70-4abd-8a34-2410d33ca4b7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6ea9525b-cd70-4abd-8a34-2410d33ca4b7', 'rel': 'self'}, {'href': 'http://localhost/nodes/6ea9525b-cd70-4abd-8a34-2410d33ca4b7', 'rel': 'bookmark'}]}, {'uuid': '0e957426-753e-41ee-b5a2-4ae2af598e6e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0e957426-753e-41ee-b5a2-4ae2af598e6e', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e957426-753e-41ee-b5a2-4ae2af598e6e', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.234123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.191851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.099796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.274049s] ... ok 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?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/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/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-fefbae76-8a44-48f7-9b98-c884981cf24d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:33.868447+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': '2023-10-12T03:26:33.868447+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': '2023-10-12T03:26:33.994981+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': '2023-10-12T03:26:33.994981+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': '2023-10-12T03:26:34.194529+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'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.207900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.192848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.264527s] ... ok 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/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-02d09721-c709-4d10-a8a5-33ed1e8d5dc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0d676a2f-96c8-47ae-8fab-fa40c4b51ba6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/led@system {} DEBUG util.py:445: GOT:{'state': 'on'} 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?driver=ipmi {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd055fe3f-479a-4c03-abbe-78930666f1fe', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d055fe3f-479a-4c03-abbe-78930666f1fe', 'rel': 'self'}, {'href': 'http://localhost/nodes/d055fe3f-479a-4c03-abbe-78930666f1fe', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?driver=fake-hardware {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '10fec898-1feb-48f0-b306-ffeebb492879', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/10fec898-1feb-48f0-b306-ffeebb492879', 'rel': 'self'}, {'href': 'http://localhost/nodes/10fec898-1feb-48f0-b306-ffeebb492879', 'rel': 'bookmark'}]}]} 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-b93efa60-d831-4232-81ce-021251164d79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3241c394-e13a-4af4-ae06-4e5407072b4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?lessee=project1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd688ab31-555f-48b4-8e2e-65a0861ef3b1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1', 'rel': 'self'}, {'href': 'http://localhost/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '674432fe-6a97-4d11-aff2-09716f7422fb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/674432fe-6a97-4d11-aff2-09716f7422fb', 'rel': 'self'}, {'href': 'http://localhost/nodes/674432fe-6a97-4d11-aff2-09716f7422fb', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd688ab31-555f-48b4-8e2e-65a0861ef3b1', 'created_at': '2023-10-12T03:26:34.471937+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/d688ab31-555f-48b4-8e2e-65a0861ef3b1', 'rel': 'self'}, {'href': 'http://localhost/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d688ab31-555f-48b4-8e2e-65a0861ef3b1/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '674432fe-6a97-4d11-aff2-09716f7422fb', 'created_at': '2023-10-12T03:26:34.475293+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/674432fe-6a97-4d11-aff2-09716f7422fb', 'rel': 'self'}, {'href': 'http://localhost/nodes/674432fe-6a97-4d11-aff2-09716f7422fb', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/674432fe-6a97-4d11-aff2-09716f7422fb/volume', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.222336s] ... ok DEBUG util.py:445: GET: /v1/nodes/cfe7a150-2459-4777-a318-87c55b360129 {} DEBUG util.py:445: GOT:{'uuid': 'cfe7a150-2459-4777-a318-87c55b360129', 'created_at': '2023-10-12T03:26:34.066705+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/cfe7a150-2459-4777-a318-87c55b360129', 'rel': 'self'}, {'href': 'http://localhost/nodes/cfe7a150-2459-4777-a318-87c55b360129', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/cfe7a150-2459-4777-a318-87c55b360129/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cfe7a150-2459-4777-a318-87c55b360129/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cfe7a150-2459-4777-a318-87c55b360129/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cfe7a150-2459-4777-a318-87c55b360129/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/cfe7a150-2459-4777-a318-87c55b360129/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/cfe7a150-2459-4777-a318-87c55b360129/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/cfe7a150-2459-4777-a318-87c55b360129/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/cfe7a150-2459-4777-a318-87c55b360129/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': '2023-10-12T03:26:34.240361+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': '2023-10-12T03:26:34.240361+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/70ae5b5f-0072-4172-a65a-f96dfecd8dc9 {} DEBUG util.py:445: GOT:{'uuid': '70ae5b5f-0072-4172-a65a-f96dfecd8dc9', 'created_at': '2023-10-12T03:26:34.444941+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/70ae5b5f-0072-4172-a65a-f96dfecd8dc9', 'rel': 'self'}, {'href': 'http://localhost/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/70ae5b5f-0072-4172-a65a-f96dfecd8dc9/volume', 'rel': 'bookmark'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.237176s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.171543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.242481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.134845s] ... 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': '2023-10-12T03:26:34.194529+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': '2023-10-12T03:26:34.380499+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': '2023-10-12T03:26:34.380499+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/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:34.684037+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/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:34.684037+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'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.407076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.259955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.206754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.199846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.246400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.356591s] ... ok DEBUG util.py:445: GET: /v1/nodes/f1187a4b-fb8d-43f6-909b-337611513e77 {} DEBUG util.py:445: GOT:{'uuid': 'f1187a4b-fb8d-43f6-909b-337611513e77', 'created_at': '2023-10-12T03:26:34.542443+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/f1187a4b-fb8d-43f6-909b-337611513e77', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1187a4b-fb8d-43f6-909b-337611513e77', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f1187a4b-fb8d-43f6-909b-337611513e77/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': '2023-10-12T03:26:34.698889+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': '2023-10-12T03:26:34.698889+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/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/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '592cee16-f525-4852-accf-fc62ec171032', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/592cee16-f525-4852-accf-fc62ec171032', 'rel': 'self'}, {'href': 'http://localhost/portgroups/592cee16-f525-4852-accf-fc62ec171032', 'rel': 'bookmark'}]}, {'uuid': 'be9c78a5-3378-4b08-8c11-8ffed0ca1713', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/be9c78a5-3378-4b08-8c11-8ffed0ca1713', 'rel': 'self'}, {'href': 'http://localhost/portgroups/be9c78a5-3378-4b08-8c11-8ffed0ca1713', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.135800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.114129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.034104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.148220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.359867s] ... ok DEBUG util.py:445: GET: /v1/nodes?owner=fred {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'cbe16eab-a282-4d7a-9f85-cf662dda5dbc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc', 'rel': 'self'}, {'href': 'http://localhost/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?owner=bob {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3c74b43f-5e76-4392-9037-7eb75f9bd6d6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=fred {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'cbe16eab-a282-4d7a-9f85-cf662dda5dbc', 'created_at': '2023-10-12T03:26:34.675060+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/cbe16eab-a282-4d7a-9f85-cf662dda5dbc', 'rel': 'self'}, {'href': 'http://localhost/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/cbe16eab-a282-4d7a-9f85-cf662dda5dbc/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=bob {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '3c74b43f-5e76-4392-9037-7eb75f9bd6d6', 'created_at': '2023-10-12T03:26:34.696032+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/3c74b43f-5e76-4392-9037-7eb75f9bd6d6', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c74b43f-5e76-4392-9037-7eb75f9bd6d6/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?provision_state=available {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1b85f0e8-18fd-4c89-b461-3302fc749bb4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1b85f0e8-18fd-4c89-b461-3302fc749bb4', 'rel': 'self'}, {'href': 'http://localhost/nodes/1b85f0e8-18fd-4c89-b461-3302fc749bb4', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?provision_state=deploying {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '9cfb9181-c1f6-473a-b8b2-ef6950a77230', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9cfb9181-c1f6-473a-b8b2-ef6950a77230', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cfb9181-c1f6-473a-b8b2-ef6950a77230', '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': '2023-10-12T03:26:35.374573+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': '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 [0.376004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.260311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.319352s] ... ok DEBUG util.py:445: GET: /v1/nodes/26281320-7130-4825-a59c-9a3fd67e43db {} DEBUG util.py:445: GOT:{'uuid': '26281320-7130-4825-a59c-9a3fd67e43db', 'created_at': '2023-10-12T03:26:35.023315+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/26281320-7130-4825-a59c-9a3fd67e43db', 'rel': 'self'}, {'href': 'http://foo/nodes/26281320-7130-4825-a59c-9a3fd67e43db', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/26281320-7130-4825-a59c-9a3fd67e43db/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/26281320-7130-4825-a59c-9a3fd67e43db/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/26281320-7130-4825-a59c-9a3fd67e43db {} DEBUG util.py:445: GOT:{'uuid': '26281320-7130-4825-a59c-9a3fd67e43db', 'created_at': '2023-10-12T03:26:35.023315+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/26281320-7130-4825-a59c-9a3fd67e43db', 'rel': 'self'}, {'href': 'http://foo/nodes/26281320-7130-4825-a59c-9a3fd67e43db', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/26281320-7130-4825-a59c-9a3fd67e43db/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/26281320-7130-4825-a59c-9a3fd67e43db/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /nodes/26281320-7130-4825-a59c-9a3fd67e43db {} DEBUG util.py:445: GOT:{'uuid': '26281320-7130-4825-a59c-9a3fd67e43db', 'created_at': '2023-10-12T03:26:35.023315+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/26281320-7130-4825-a59c-9a3fd67e43db', 'rel': 'self'}, {'href': 'http://foo/nodes/26281320-7130-4825-a59c-9a3fd67e43db', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/26281320-7130-4825-a59c-9a3fd67e43db/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/26281320-7130-4825-a59c-9a3fd67e43db/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?maintenance=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b8551d8d-d128-4217-b99e-9aba8c5e3835', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b8551d8d-d128-4217-b99e-9aba8c5e3835', 'rel': 'self'}, {'href': 'http://localhost/nodes/b8551d8d-d128-4217-b99e-9aba8c5e3835', 'rel': 'bookmark'}]}, {'uuid': '79fedb7f-2dde-4258-afc6-e4997c216cf2', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/79fedb7f-2dde-4258-afc6-e4997c216cf2', 'rel': 'self'}, {'href': 'http://localhost/nodes/79fedb7f-2dde-4258-afc6-e4997c216cf2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?maintenance=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '2d59086a-3315-486c-ba92-67262a9e5e67', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2d59086a-3315-486c-ba92-67262a9e5e67', 'rel': 'self'}, {'href': 'http://localhost/nodes/2d59086a-3315-486c-ba92-67262a9e5e67', 'rel': 'bookmark'}]}, {'uuid': '9be6033f-5637-4721-9807-3dd8249d510a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9be6033f-5637-4721-9807-3dd8249d510a', 'rel': 'self'}, {'href': 'http://localhost/nodes/9be6033f-5637-4721-9807-3dd8249d510a', 'rel': 'bookmark'}]}, {'uuid': '6a628844-1598-4ac3-b825-5c14b0f45fd8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6a628844-1598-4ac3-b825-5c14b0f45fd8', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a628844-1598-4ac3-b825-5c14b0f45fd8', '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-362550db-d6a8-4584-bc63-111517b504ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '59fa6cad-71b0-420b-8d08-08ae8cc39fcd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/59fa6cad-71b0-420b-8d08-08ae8cc39fcd', 'rel': 'self'}, {'href': 'http://localhost/nodes/59fa6cad-71b0-420b-8d08-08ae8cc39fcd', 'rel': 'bookmark'}]}, {'uuid': '981665b4-a351-4e2c-931e-040a51dc7515', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/981665b4-a351-4e2c-931e-040a51dc7515', 'rel': 'self'}, {'href': 'http://localhost/nodes/981665b4-a351-4e2c-931e-040a51dc7515', 'rel': 'bookmark'}]}, {'uuid': 'abb78d38-169e-46b5-b4fd-a9b30496c8e4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/abb78d38-169e-46b5-b4fd-a9b30496c8e4', 'rel': 'self'}, {'href': 'http://localhost/nodes/abb78d38-169e-46b5-b4fd-a9b30496c8e4', 'rel': 'bookmark'}]}, {'uuid': '5818434a-e1bb-4b97-9690-943ab1e0920e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/5818434a-e1bb-4b97-9690-943ab1e0920e', 'rel': 'self'}, {'href': 'http://localhost/nodes/5818434a-e1bb-4b97-9690-943ab1e0920e', 'rel': 'bookmark'}]}, {'uuid': '6df3b745-69be-4f42-ab7f-087889acd8fb', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/6df3b745-69be-4f42-ab7f-087889acd8fb', 'rel': 'self'}, {'href': 'http://localhost/nodes/6df3b745-69be-4f42-ab7f-087889acd8fb', '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': '2023-10-12T03:26:35.676590+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'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.254938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.105821s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.129407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.117614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.164192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.258347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.083064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.046910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [1.013322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.149935s] ... 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': '2023-10-12T03:26:35.867886+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': '2023-10-12T03:26:36.009870+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/fb38639a-aaad-439c-92db-a30391b26ed4 {} DEBUG util.py:445: GOT:{'uuid': 'fb38639a-aaad-439c-92db-a30391b26ed4', 'created_at': '2023-10-12T03:26:36.182878+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/fb38639a-aaad-439c-92db-a30391b26ed4', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb38639a-aaad-439c-92db-a30391b26ed4', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb38639a-aaad-439c-92db-a30391b26ed4/volume', 'rel': 'bookmark'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.189900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.268299s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.240215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.097152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.071356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.202783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.167674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.198354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.132411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.138246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.119986s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '592cee16-f525-4852-accf-fc62ec171032', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/592cee16-f525-4852-accf-fc62ec171032', 'rel': 'self'}, {'href': 'http://localhost/portgroups/592cee16-f525-4852-accf-fc62ec171032', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=592cee16-f525-4852-accf-fc62ec171032'} 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': '2023-10-12T03:26:35.475138+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-6c8ec316-e9fc-417c-8e44-79c73ffd1136 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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/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-def6fd03-ea63-4b71-bc5d-84895ccd377b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/nodes?sort_key=resource_class {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '86f6c68f-18d9-4a8c-b407-c691e59792ec', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/86f6c68f-18d9-4a8c-b407-c691e59792ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/86f6c68f-18d9-4a8c-b407-c691e59792ec', 'rel': 'bookmark'}]}, {'uuid': 'de284d32-cdc6-4c50-8681-4b9a6742f775', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/de284d32-cdc6-4c50-8681-4b9a6742f775', 'rel': 'self'}, {'href': 'http://localhost/nodes/de284d32-cdc6-4c50-8681-4b9a6742f775', 'rel': 'bookmark'}]}, {'uuid': 'b0ad773d-9d81-4765-8664-9828e0eb3e65', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b0ad773d-9d81-4765-8664-9828e0eb3e65', 'rel': 'self'}, {'href': 'http://localhost/nodes/b0ad773d-9d81-4765-8664-9828e0eb3e65', 'rel': 'bookmark'}]}]} 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '93fa205b-1992-41cf-9b2e-00d578f35cc4', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/93fa205b-1992-41cf-9b2e-00d578f35cc4', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/93fa205b-1992-41cf-9b2e-00d578f35cc4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '685f5b5c-1c8c-4ade-9a8d-04fc6aa2f9dc', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/685f5b5c-1c8c-4ade-9a8d-04fc6aa2f9dc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/685f5b5c-1c8c-4ade-9a8d-04fc6aa2f9dc', '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': '93fa205b-1992-41cf-9b2e-00d578f35cc4', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/93fa205b-1992-41cf-9b2e-00d578f35cc4', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/93fa205b-1992-41cf-9b2e-00d578f35cc4', '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=93fa205b-1992-41cf-9b2e-00d578f35cc4'} 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-eb42cf0b-c33f-4f50-b301-ef7cc68260f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'f8099a9c-a3f0-4b85-a6bc-5885d3ced21b', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f8099a9c-a3f0-4b85-a6bc-5885d3ced21b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f8099a9c-a3f0-4b85-a6bc-5885d3ced21b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'cf9f0251-b017-4de9-9978-17b57ab0612f', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/cf9f0251-b017-4de9-9978-17b57ab0612f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/cf9f0251-b017-4de9-9978-17b57ab0612f', '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': 'f8099a9c-a3f0-4b85-a6bc-5885d3ced21b', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f8099a9c-a3f0-4b85-a6bc-5885d3ced21b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f8099a9c-a3f0-4b85-a6bc-5885d3ced21b', '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=f8099a9c-a3f0-4b85-a6bc-5885d3ced21b'} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}]{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.095222s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.099813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.417571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.120586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.372948s] ... 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': '2023-10-12T03:26:36.432890+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': '2023-10-12T03:26:36.432890+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': '2023-10-12T03:26:36.562226+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/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 {} 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'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.155699s] ... ok DEBUG util.py:445: {1} 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.099249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.060873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.124661s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.076090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.120612s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.058428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.165935s] ... ok 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': '2023-10-12T03:26:35.976739+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/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-abd3d416-ba74-4a28-a984-3ed645f1bef7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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': '2016c2f1-a3e2-4497-a6f0-9fc19ad358e1'} 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': '2023-10-12T03:26:37.113062+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': '2023-10-12T03:26:37.113062+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'}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.368037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.471769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.067665s] ... 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-9b622fd9-1f81-4c98-a640-39cc0b144900 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:36.657753+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': '/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-a14ba2b4-8fc2-44ea-8e43-ee3d6bc11c96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:36.749148+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': '/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-ac5a7906-89a0-4a6e-831e-b9dccb8be58a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:36.852524+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/b1ba72b2-8911-44b8-b049-ad706717a408 [{'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-8d74ee73-b315-4cac-b305-9e6e3f029bea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "b1ba72b2-8911-44b8-b049-ad706717a408", "created_at": "2023-10-12T03:26:36.987138+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/b1ba72b2-8911-44b8-b049-ad706717a408", "rel": "self"}, {"href": "http://localhost/nodes/b1ba72b2-8911-44b8-b049-ad706717a408", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b1ba72b2-8911-44b8-b049-ad706717a408/ports", "rel": "self"}, {"href": "http://localhost/nodes/b1ba72b2-8911-44b8-b049-ad706717a408/ports", "rel": "bookmark"}]} 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-326c0888-dc23-4e79-9839-f6045635716b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-f92dc385-4e3a-44a7-a6d7-dcb42a4f8c54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:37.142406+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/2ac1aeae-9542-482f-9be8-cffdaa39adca [{'path': '/allocation_uuid', 'op': 'replace', 'value': '4e043cb2-45c9-4d71-ab77-619ab2375381'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25cc4ddc-f83f-4159-ae9e-afec3ac10a63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.053883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.050840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.209040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.063931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.098853s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.061773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.204187s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.092306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.574180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.517178s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/91401196-0aba-48d2-8727-d225a52fdafb [{'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-ec9083c4-6340-4910-a3bf-25923d203876 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-e7d3504f-ea82-4272-b170-6de6b8eea589 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:37.362124+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/4a19399c-9171-4296-b264-5456bf0c4b8a [{'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-3df7688e-b7d9-4173-9c6f-13e183485a0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "4a19399c-9171-4296-b264-5456bf0c4b8a", "created_at": "2023-10-12T03:26:37.633314+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a", "rel": "self"}, {"href": "http://localhost/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/ports", "rel": "self"}, {"href": "http://localhost/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/states", "rel": "self"}, {"href": "http://localhost/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/volume", "rel": "self"}, {"href": "http://localhost/nodes/4a19399c-9171-4296-b264-5456bf0c4b8a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f [{'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-5b272070-a369-4edd-9689-1418839a31ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "69df6bc0-1606-4979-ad64-35ea8619c45f", "created_at": "2023-10-12T03:26:37.836431+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f", "rel": "self"}, {"href": "http://localhost/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/ports", "rel": "self"}, {"href": "http://localhost/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/states", "rel": "self"}, {"href": "http://localhost/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/volume", "rel": "self"}, {"href": "http://localhost/nodes/69df6bc0-1606-4979-ad64-35ea8619c45f/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.186897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.181892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.229531s] ... 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': '2023-10-12T03:26:37.093668+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/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/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?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-3a0692b2-7c93-4722-b738-b1972279d691 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bb2dc78a-d9d1-4ddb-82a1-3f72dc4f98c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6716374b-c849-4114-a1c3-ec024b66ebed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4519e3ac-647d-498b-843a-32fde9a381d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6a0a4045-9c86-4c4f-8259-da7558082743 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ff21b48b-5b41-4e36-a3a4-c1a12db1d69a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cc816e74-8315-451c-80d2-90ba69ff27c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a45bfe1c-fd77-4ba2-af83-f06a2309d5a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/validate?node=spam {} DEBUG util.py:445: GOT:{} 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-01b98e47-4fdc-4e23-b1a0-21ada0a43573 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-4108a9f7-9f4e-4a2a-be2b-fc76aa6930df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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: 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-dc22c13b-88d0-42c6-b821-6e955c3fceab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-df946f3c-112a-4b9f-b201-4ce8fa142760 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.352299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.103733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.157184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.151773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.349078s] ... ok DEBUG util.py:445: GET: /v1/nodes?associated=FALSE {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'c0edf4cd-ebab-4180-92fe-0e0bf3e89fd1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c0edf4cd-ebab-4180-92fe-0e0bf3e89fd1', 'rel': 'self'}, {'href': 'http://localhost/nodes/c0edf4cd-ebab-4180-92fe-0e0bf3e89fd1', 'rel': 'bookmark'}]}, {'uuid': '6ea9525b-cd70-4abd-8a34-2410d33ca4b7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6ea9525b-cd70-4abd-8a34-2410d33ca4b7', 'rel': 'self'}, {'href': 'http://localhost/nodes/6ea9525b-cd70-4abd-8a34-2410d33ca4b7', 'rel': 'bookmark'}]}, {'uuid': '0e957426-753e-41ee-b5a2-4ae2af598e6e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0e957426-753e-41ee-b5a2-4ae2af598e6e', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e957426-753e-41ee-b5a2-4ae2af598e6e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=False&limit=2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7fb6b1a4-90f1-4659-a75d-0c3b6215144d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7fb6b1a4-90f1-4659-a75d-0c3b6215144d', 'rel': 'self'}, {'href': 'http://localhost/nodes/7fb6b1a4-90f1-4659-a75d-0c3b6215144d', 'rel': 'bookmark'}]}, {'uuid': '9cee1434-f69d-4bf4-8999-b8eebc7a56a8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9cee1434-f69d-4bf4-8999-b8eebc7a56a8', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cee1434-f69d-4bf4-8999-b8eebc7a56a8', '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=9cee1434-f69d-4bf4-8999-b8eebc7a56a8'} 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-21476e74-2712-4562-b7c2-49b621366cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-d1422c0f-50c3-4845-8520-3c2659a8ab3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/71986e10-4ec9-41de-85a7-82f6cfdba87e [{'path': '/allocation_uuid', 'op': 'replace', 'value': '04cd54a9-86cf-45a1-a80a-47ef4e9aceeb'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7df53702-b658-4137-83e9-863610252bdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/086b4f9e-4eb9-4d3e-b345-68f6d2f909c2 [{'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-bdd07b52-a985-4b1d-83f8-ad5cb6368e18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/f5b112d3-1558-4b5b-a0a1-8a3b84b8a4b8 [{'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-b32d6c0b-f8b1-4849-88b9-a80d39d18f40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-a1cec6b8-c6e1-4659-b732-80f76cccc18f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:37.595390+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/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e [{'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-11f5818c-7b57-4199-b331-cd2659eca26a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "cde53ca3-1a32-49ee-9bd2-ee2862e7d07e", "created_at": "2023-10-12T03:26:38.193126+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e", "rel": "self"}, {"href": "http://localhost/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/ports", "rel": "self"}, {"href": "http://localhost/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/states", "rel": "self"}, {"href": "http://localhost/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/volume", "rel": "self"}, {"href": "http://localhost/nodes/cde53ca3-1a32-49ee-9bd2-ee2862e7d07e/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.483649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.302883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.231060s] ... ok DEBUG util.py:445: GET: /v1/nodes?associated=true&maintenance=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'bf4390c7-0707-413b-8dc4-eda3374edc45', 'instance_uuid': 'a8339d71-32f9-4784-a70a-91e75b4a8d6b', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bf4390c7-0707-413b-8dc4-eda3374edc45', 'rel': 'self'}, {'href': 'http://localhost/nodes/bf4390c7-0707-413b-8dc4-eda3374edc45', 'rel': 'bookmark'}]}, {'uuid': '79d18fbc-5b62-4f7b-8ab4-159bcc84e1e6', 'instance_uuid': '58219daa-427b-4eb5-80fe-a98582315cee', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/79d18fbc-5b62-4f7b-8ab4-159bcc84e1e6', 'rel': 'self'}, {'href': 'http://localhost/nodes/79d18fbc-5b62-4f7b-8ab4-159bcc84e1e6', 'rel': 'bookmark'}]}, {'uuid': '2f30557d-a43f-4ce3-9921-a335b48df8f8', 'instance_uuid': '5f5e02c2-9578-4d76-8e88-9af4dfc8d27e', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2f30557d-a43f-4ce3-9921-a335b48df8f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/2f30557d-a43f-4ce3-9921-a335b48df8f8', 'rel': 'bookmark'}]}, {'uuid': 'e1a76f03-530c-4462-a812-dcff9e110ba6', 'instance_uuid': '109fd30d-007d-470a-97e6-1b9a80430fb3', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e1a76f03-530c-4462-a812-dcff9e110ba6', 'rel': 'self'}, {'href': 'http://localhost/nodes/e1a76f03-530c-4462-a812-dcff9e110ba6', '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': 'bc0f5c12-eee5-4445-8e53-78f3e33a0fa4', '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': 'bc0f5c12-eee5-4445-8e53-78f3e33a0fa4', '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-cb883fc1-d9b3-46ec-a81a-19da995d1d2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?limit=3&associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b000b100-8017-4984-830e-3f6fa9440997', 'created_at': '2023-10-12T03:26:38.292405+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': 'ab5bb329-b84d-4b30-a35e-2fb79c6c415d', '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/b000b100-8017-4984-830e-3f6fa9440997', 'rel': 'self'}, {'href': 'http://localhost/nodes/b000b100-8017-4984-830e-3f6fa9440997', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b000b100-8017-4984-830e-3f6fa9440997/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b000b100-8017-4984-830e-3f6fa9440997/ports', 'rel': 'bookmark'}]}, {'uuid': 'd218be28-1302-43fe-81c6-2f19730a24ab', 'created_at': '2023-10-12T03:26:38.296295+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': '8296ad76-c3d6-4399-a8be-57404668296e', '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/d218be28-1302-43fe-81c6-2f19730a24ab', 'rel': 'self'}, {'href': 'http://localhost/nodes/d218be28-1302-43fe-81c6-2f19730a24ab', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d218be28-1302-43fe-81c6-2f19730a24ab/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d218be28-1302-43fe-81c6-2f19730a24ab/ports', 'rel': 'bookmark'}]}, {'uuid': 'eebb5c24-42ed-4c1a-bb73-e39877713889', 'created_at': '2023-10-12T03:26:38.299353+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': 'ae66c61d-7a51-47a7-a4ec-7545ab0b55b4', '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/eebb5c24-42ed-4c1a-bb73-e39877713889', 'rel': 'self'}, {'href': 'http://localhost/nodes/eebb5c24-42ed-4c1a-bb73-e39877713889', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/eebb5c24-42ed-4c1a-bb73-e39877713889/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/eebb5c24-42ed-4c1a-bb73-e39877713889/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=eebb5c24-42ed-4c1a-bb73-e39877713889'} 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': '2023-10-12T03:26:38.534232+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'}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.206985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.121907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.108487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.266650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.153166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.234961s] ... ok 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-9d100555-7af4-4174-b695-e19f87836bb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-32b960a6-ce69-470c-984d-6c76e3678301 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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', '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-79cc1388-f525-4c86-bd39-c622d43d9955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:38.320578+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/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-fc47b665-1077-4c84-869f-7bdec4bfaf34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:38.476683+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/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-4f81a4eb-5b5f-494e-aeba-86582a1719e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-ca954c19-cccc-4db5-bc9c-4d799d2019d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.253709s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.304239s] ... ok 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-0120a050-d479-475a-a161-83d05fc09da9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-bf9e0bae-fa4f-4148-858e-aca0832df906 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-54b0005b-d3ce-4236-8f9d-ec9ede344769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-5048e5fc-c13c-4b49-99c0-c2c6dbeba5fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-732389b1-76d6-46e8-ba58-96fa87c96016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-7af514cc-1077-49ee-a9b7-9d9c571c3592 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f5fe988b-a4c6-4a07-a8c2-1e1acf654ed6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0e559145-f070-4ac3-b9c4-050da7ae9909 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/d32241dd-40b6-41af-8628-746138091f27 [{'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-cb7a1c40-d89b-430c-a7f9-a79ca2915e37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d32241dd-40b6-41af-8628-746138091f27", "created_at": "2023-10-12T03:26:38.887102+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d32241dd-40b6-41af-8628-746138091f27", "rel": "self"}, {"href": "http://localhost/nodes/d32241dd-40b6-41af-8628-746138091f27", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d32241dd-40b6-41af-8628-746138091f27/ports", "rel": "self"}, {"href": "http://localhost/nodes/d32241dd-40b6-41af-8628-746138091f27/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d32241dd-40b6-41af-8628-746138091f27/states", "rel": "self"}, {"href": "http://localhost/nodes/d32241dd-40b6-41af-8628-746138091f27/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d32241dd-40b6-41af-8628-746138091f27/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d32241dd-40b6-41af-8628-746138091f27/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d32241dd-40b6-41af-8628-746138091f27/volume", "rel": "self"}, {"href": "http://localhost/nodes/d32241dd-40b6-41af-8628-746138091f27/volume", "rel": "bookmark"}]} 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-644c4a17-8b97-4312-a82f-793c7d7ccc52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.256751s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.169321s] ... ok 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-ce35a756-52d7-4553-9ebb-ba9e83eed1c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} 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': '2023-10-12T03:26:38.819438+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': '2023-10-12T03:26:38.819438+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:38.976588+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': '2023-10-12T03:26:38.976588+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.317362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.312351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.385815s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-a3b7940d-609c-41d8-99c6-5808556efb0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-d3fd5137-41ff-4a97-ab1d-c2e5e911cb8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-f87e310d-20a2-4f84-8709-788fe83fa385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-b1cb22b3-d94d-4156-b0bc-ba3950ab742b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-1ad989c0-441f-4348-b2b5-9cc2e61e31ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a [{'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-038b089d-dc93-413f-b056-1a0c5d574d56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e7508aac-c272-4278-a36a-94a44cfafc9a", "created_at": "2023-10-12T03:26:38.720061+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": "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/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7508aac-c272-4278-a36a-94a44cfafc9a/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.837431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.065422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.297494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.224978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.211851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.440245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.067904s] ... 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': '2023-10-12T03:26:39.341861+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': '2023-10-12T03:26:39.341861+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': '2023-10-12T03:26:39.674584+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': '2023-10-12T03:26:39.674584+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'}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.337080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.131128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.105564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.048460s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/736d6f92-7e11-406d-a420-2effe199290c [{'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-7472e1b2-8cf1-460b-9a8e-beb3ee1a97f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "736d6f92-7e11-406d-a420-2effe199290c", "created_at": "2023-10-12T03:26:38.576615+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": "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/736d6f92-7e11-406d-a420-2effe199290c", "rel": "self"}, {"href": "http://localhost/nodes/736d6f92-7e11-406d-a420-2effe199290c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/736d6f92-7e11-406d-a420-2effe199290c/ports", "rel": "self"}, {"href": "http://localhost/nodes/736d6f92-7e11-406d-a420-2effe199290c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/736d6f92-7e11-406d-a420-2effe199290c/states", "rel": "self"}, {"href": "http://localhost/nodes/736d6f92-7e11-406d-a420-2effe199290c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/736d6f92-7e11-406d-a420-2effe199290c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/736d6f92-7e11-406d-a420-2effe199290c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/736d6f92-7e11-406d-a420-2effe199290c/volume", "rel": "self"}, {"href": "http://localhost/nodes/736d6f92-7e11-406d-a420-2effe199290c/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9 [] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51344f68-772f-4ed2-96d1-e2d5e80615f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "216265b4-21c7-492f-a8d3-a84aaba0b1c9", "created_at": "2023-10-12T03:26:38.813209+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": "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/216265b4-21c7-492f-a8d3-a84aaba0b1c9", "rel": "self"}, {"href": "http://localhost/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/ports", "rel": "self"}, {"href": "http://localhost/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/states", "rel": "self"}, {"href": "http://localhost/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/volume", "rel": "self"}, {"href": "http://localhost/nodes/216265b4-21c7-492f-a8d3-a84aaba0b1c9/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-37b93243-7141-44ef-b9b4-f990563791a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-3e493549-4fc8-4455-87a9-cf247fecedff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/chassis_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-210f811f-c603-405f-895b-5f48d743fbba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-462ebc87-920b-48a1-881f-338d9a578dd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.274183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.276967s] ... 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': '2023-10-12T03:26:39.943827+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'}]} 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': '2023-10-12T03:26:40.056268+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': '2023-10-12T03:26:40.056268+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': '2023-10-12T03:26:40.187021+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'}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.150545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.201767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.138293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.493207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.420567s] ... ok 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-924ab370-f611-43c5-a7d8-fa4788ff8bd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-5ebb0e05-3d52-418e-b85f-1b21eb1a6b38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-aa3c6ff3-c077-4976-8c9c-79276427a6d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'required' in schema\", \"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-68362ccd-cdad-4d7f-ab33-9f47507813f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-1eb09fc5-f26b-4216-bebb-2dc508ed9223 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-c1d21997-713c-490e-acd3-396ffafa5409 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:40.125538+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?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-ee52b8dd-b9c9-49d8-8df9-445360e14e9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/054b408a-0168-4c8d-b792-247eed963650 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}]{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.152559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.245934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.199259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.450392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.468786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.057914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.265286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.104030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.091874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.099773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.256911s] ... 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-fa7fa199-b2ef-4381-a3b4-0b4a6975b950 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-88ca3762-ccf6-4cd5-b93c-7905031fa9ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/dd85c60a-40a7-4a9c-8b7d-2f5c60ed345b [{'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-2ffe6910-7029-402a-be26-047cadb93576 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "dd85c60a-40a7-4a9c-8b7d-2f5c60ed345b", "created_at": "2023-10-12T03:26:40.933048+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/dd85c60a-40a7-4a9c-8b7d-2f5c60ed345b", "rel": "self"}, {"href": "http://localhost/nodes/dd85c60a-40a7-4a9c-8b7d-2f5c60ed345b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dd85c60a-40a7-4a9c-8b7d-2f5c60ed345b/ports", "rel": "self"}, {"href": "http://localhost/nodes/dd85c60a-40a7-4a9c-8b7d-2f5c60ed345b/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/207d5a49-b8e8-4961-95cc-a4221f1cf165 [{'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-573287ce-7725-4d2c-afa9-bbeda9ed2376 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "207d5a49-b8e8-4961-95cc-a4221f1cf165", "created_at": "2023-10-12T03:26:41.043414+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/207d5a49-b8e8-4961-95cc-a4221f1cf165", "rel": "self"}, {"href": "http://localhost/nodes/207d5a49-b8e8-4961-95cc-a4221f1cf165", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/207d5a49-b8e8-4961-95cc-a4221f1cf165/ports", "rel": "self"}, {"href": "http://localhost/nodes/207d5a49-b8e8-4961-95cc-a4221f1cf165/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2851f5fb-43b5-48f1-beaf-9bd004583f93 [{'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-e7a05fd5-d708-4361-b80d-6ef91854e5df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2851f5fb-43b5-48f1-beaf-9bd004583f93", "created_at": "2023-10-12T03:26:41.092827+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/2851f5fb-43b5-48f1-beaf-9bd004583f93", "rel": "self"}, {"href": "http://localhost/nodes/2851f5fb-43b5-48f1-beaf-9bd004583f93", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2851f5fb-43b5-48f1-beaf-9bd004583f93/ports", "rel": "self"}, {"href": "http://localhost/nodes/2851f5fb-43b5-48f1-beaf-9bd004583f93/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/36f4cdf6-af11-4e02-b9c4-6d2df7c4d723 [{'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-5138991c-611f-44fb-b3dd-6b9e65620599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "36f4cdf6-af11-4e02-b9c4-6d2df7c4d723", "created_at": "2023-10-12T03:26:41.163449+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/36f4cdf6-af11-4e02-b9c4-6d2df7c4d723", "rel": "self"}, {"href": "http://localhost/nodes/36f4cdf6-af11-4e02-b9c4-6d2df7c4d723", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/36f4cdf6-af11-4e02-b9c4-6d2df7c4d723/ports", "rel": "self"}, {"href": "http://localhost/nodes/36f4cdf6-af11-4e02-b9c4-6d2df7c4d723/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/b405cb10-3481-4d48-84aa-3a59f037a525 [{'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-cab53525-3438-411d-b52f-3d5ae20cd522 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "b405cb10-3481-4d48-84aa-3a59f037a525", "created_at": "2023-10-12T03:26:41.225818+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/b405cb10-3481-4d48-84aa-3a59f037a525", "rel": "self"}, {"href": "http://localhost/nodes/b405cb10-3481-4d48-84aa-3a59f037a525", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b405cb10-3481-4d48-84aa-3a59f037a525/ports", "rel": "self"}, {"href": "http://localhost/nodes/b405cb10-3481-4d48-84aa-3a59f037a525/ports", "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-e98f018b-08c5-4e0f-b9c2-ce642faea951 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/8552a924-2d85-4846-9826-58283ce85ddb [{'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-a676d258-d92f-4ce4-b5e1-fb45e0367372 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "8552a924-2d85-4846-9826-58283ce85ddb", "created_at": "2023-10-12T03:26:39.594862+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": "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/8552a924-2d85-4846-9826-58283ce85ddb", "rel": "self"}, {"href": "http://localhost/nodes/8552a924-2d85-4846-9826-58283ce85ddb", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8552a924-2d85-4846-9826-58283ce85ddb/ports", "rel": "self"}, {"href": "http://localhost/nodes/8552a924-2d85-4846-9826-58283ce85ddb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8552a924-2d85-4846-9826-58283ce85ddb/states", "rel": "self"}, {"href": "http://localhost/nodes/8552a924-2d85-4846-9826-58283ce85ddb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8552a924-2d85-4846-9826-58283ce85ddb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8552a924-2d85-4846-9826-58283ce85ddb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8552a924-2d85-4846-9826-58283ce85ddb/volume", "rel": "self"}, {"href": "http://localhost/nodes/8552a924-2d85-4846-9826-58283ce85ddb/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96 [{'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-490a55ab-d70a-4c96-84ad-0457d9311884 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "a1a2287d-f701-418f-9e33-0f92d7340b96", "created_at": "2023-10-12T03:26:40.163864+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": "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/a1a2287d-f701-418f-9e33-0f92d7340b96", "rel": "self"}, {"href": "http://localhost/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/ports", "rel": "self"}, {"href": "http://localhost/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/states", "rel": "self"}, {"href": "http://localhost/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/volume", "rel": "self"}, {"href": "http://localhost/nodes/a1a2287d-f701-418f-9e33-0f92d7340b96/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/bbf1e851-4124-4c49-953d-bba332d36ad4 [{'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-cf7f93a5-f16e-44d9-ae2b-425e9c3f1f40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "bbf1e851-4124-4c49-953d-bba332d36ad4", "created_at": "2023-10-12T03:26:40.676552+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/bbf1e851-4124-4c49-953d-bba332d36ad4", "rel": "self"}, {"href": "http://localhost/nodes/bbf1e851-4124-4c49-953d-bba332d36ad4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bbf1e851-4124-4c49-953d-bba332d36ad4/ports", "rel": "self"}, {"href": "http://localhost/nodes/bbf1e851-4124-4c49-953d-bba332d36ad4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1c1bd623-d18f-48b9-a424-992aa472dafa [{'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-d3bf6af5-045a-4425-9ad0-394085bca7fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "1c1bd623-d18f-48b9-a424-992aa472dafa", "created_at": "2023-10-12T03:26:41.108998+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/1c1bd623-d18f-48b9-a424-992aa472dafa", "rel": "self"}, {"href": "http://localhost/nodes/1c1bd623-d18f-48b9-a424-992aa472dafa", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1c1bd623-d18f-48b9-a424-992aa472dafa/ports", "rel": "self"}, {"href": "http://localhost/nodes/1c1bd623-d18f-48b9-a424-992aa472dafa/ports", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.455391s] ... ok DEBUG util.py:445: GET: /v1/nodes?sort_key=uuid {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '0c82c19a-f7ea-4450-a5f1-a74b30c61e6e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0c82c19a-f7ea-4450-a5f1-a74b30c61e6e', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c82c19a-f7ea-4450-a5f1-a74b30c61e6e', 'rel': 'bookmark'}]}, {'uuid': 'b18fc2a6-27e2-4b98-a436-71a873936bc8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b18fc2a6-27e2-4b98-a436-71a873936bc8', 'rel': 'self'}, {'href': 'http://localhost/nodes/b18fc2a6-27e2-4b98-a436-71a873936bc8', 'rel': 'bookmark'}]}, {'uuid': 'da487197-c588-4d44-981e-5db9d7c8e35d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/da487197-c588-4d44-981e-5db9d7c8e35d', 'rel': 'self'}, {'href': 'http://localhost/nodes/da487197-c588-4d44-981e-5db9d7c8e35d', 'rel': 'bookmark'}]}]} 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-a9983fc1-2fe7-4e9a-bd2c-606adefa94a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2023-10-12T03:26:41.043979+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: PATCH: /v1/nodes/48ddf41f-6c30-42e6-8466-bb3083ec28f4 [{'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-fda8bc53-1223-4e8a-aab7-7a8afec6b2bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 48ddf41f-6c30-42e6-8466-bb3083ec28f4 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/5a18ef14-09bb-4b2f-bb95-08be513e89f1 [{'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-c8a4a44f-0e1a-455d-98b0-5114236f9411 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff [{'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-276276a1-faf4-4d0d-b1e3-f3a4464ad12f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff", "created_at": "2023-10-12T03:26:41.342673+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": {"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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff", "rel": "self"}, {"href": "http://localhost/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/ports", "rel": "self"}, {"href": "http://localhost/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/states", "rel": "self"}, {"href": "http://localhost/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/volume", "rel": "self"}, {"href": "http://localhost/nodes/268a5d7e-cf08-4b48-a9b9-536f3a5cd8ff/volume", "rel": "bookmark"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.177326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.200959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.332006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.920697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.124054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.517746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.123694s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/ac3226e5-0315-45a3-80d3-c6818b898a23 [{'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-5643c032-094b-4e2e-9914-1f0a3b70927d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "ac3226e5-0315-45a3-80d3-c6818b898a23", "created_at": "2023-10-12T03:26:41.329039+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/ac3226e5-0315-45a3-80d3-c6818b898a23", "rel": "self"}, {"href": "http://localhost/nodes/ac3226e5-0315-45a3-80d3-c6818b898a23", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ac3226e5-0315-45a3-80d3-c6818b898a23/ports", "rel": "self"}, {"href": "http://localhost/nodes/ac3226e5-0315-45a3-80d3-c6818b898a23/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/767e7546-0bd7-4f5c-948d-42a2487be853 [{'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-557aca0d-5c0d-42b4-a8ad-be800ad0a8ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "767e7546-0bd7-4f5c-948d-42a2487be853", "created_at": "2023-10-12T03:26:41.392521+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/767e7546-0bd7-4f5c-948d-42a2487be853", "rel": "self"}, {"href": "http://localhost/nodes/767e7546-0bd7-4f5c-948d-42a2487be853", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/767e7546-0bd7-4f5c-948d-42a2487be853/ports", "rel": "self"}, {"href": "http://localhost/nodes/767e7546-0bd7-4f5c-948d-42a2487be853/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/6c018ccc-4f25-45a4-b948-70d6daf9d718 [{'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-e4e21cc0-21b1-486c-832c-f9e5bdab3af4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "6c018ccc-4f25-45a4-b948-70d6daf9d718", "created_at": "2023-10-12T03:26:41.586699+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/6c018ccc-4f25-45a4-b948-70d6daf9d718", "rel": "self"}, {"href": "http://localhost/nodes/6c018ccc-4f25-45a4-b948-70d6daf9d718", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6c018ccc-4f25-45a4-b948-70d6daf9d718/ports", "rel": "self"}, {"href": "http://localhost/nodes/6c018ccc-4f25-45a4-b948-70d6daf9d718/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/8a234eb1-4278-4a2b-8a34-992fdbade356 [{'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-e319e963-d5a9-4c56-a53d-4d933edcedbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "8a234eb1-4278-4a2b-8a34-992fdbade356", "created_at": "2023-10-12T03:26:41.657099+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/8a234eb1-4278-4a2b-8a34-992fdbade356", "rel": "self"}, {"href": "http://localhost/nodes/8a234eb1-4278-4a2b-8a34-992fdbade356", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8a234eb1-4278-4a2b-8a34-992fdbade356/ports", "rel": "self"}, {"href": "http://localhost/nodes/8a234eb1-4278-4a2b-8a34-992fdbade356/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/eb83835b-bf45-4622-82dd-e54606a3db06 [{'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-652e37ed-87bf-4821-b44f-7e4b86ecddff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "eb83835b-bf45-4622-82dd-e54606a3db06", "created_at": "2023-10-12T03:26:41.701985+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/eb83835b-bf45-4622-82dd-e54606a3db06", "rel": "self"}, {"href": "http://localhost/nodes/eb83835b-bf45-4622-82dd-e54606a3db06", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eb83835b-bf45-4622-82dd-e54606a3db06/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb83835b-bf45-4622-82dd-e54606a3db06/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-56b89b59-e1fa-409d-9524-c1a0fa613bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-1a75716d-adfd-460a-9474-4107d4acf5f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.269691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.282986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.173878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.256284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.155159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.238405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.179902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.101008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.409562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.314557s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307 [{'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-b2f9e272-ed50-4ed8-a09a-5de7629616b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "cc39c397-ad18-4092-ae8d-26f5f00e7307", "created_at": "2023-10-12T03:26:41.530375+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": {"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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307", "rel": "self"}, {"href": "http://localhost/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/ports", "rel": "self"}, {"href": "http://localhost/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/states", "rel": "self"}, {"href": "http://localhost/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/volume", "rel": "self"}, {"href": "http://localhost/nodes/cc39c397-ad18-4092-ae8d-26f5f00e7307/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-a6810ff2-45da-4cc3-a1ad-706b79f3ba7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-1b41fcbc-04c0-4f51-80f5-7e20604ff303 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-7c67b947-e41e-49bb-ba46-5820cc150cd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-4f4ac508-feec-44b2-a965-00d81a348251 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_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-2a39578c-0c1b-41a8-9186-fee92ce633ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-b80c9f42-99c7-4747-8d94-05686988bb04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:42.409946+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"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.168818s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.053344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.265049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.397135s] ... 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-d249623e-05fd-475a-8eb8-df899f27bfe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-b55e4cec-7e65-4fe7-acab-1b5ff6197e0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-fb9937f6-c7a3-4c93-bde4-4dcc37a1397e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/54c0445a-cebd-4cc7-9917-61bef7ba3590 [{'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-0b46e356-59ea-429a-89e9-617bd1a8cc20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/e9629996-5442-453a-9863-81af0a4afa3a [{'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-3037578f-622d-4d37-b81c-56f61e43e5c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "e9629996-5442-453a-9863-81af0a4afa3a", "created_at": "2023-10-12T03:26:41.580567+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/e9629996-5442-453a-9863-81af0a4afa3a", "rel": "self"}, {"href": "http://localhost/nodes/e9629996-5442-453a-9863-81af0a4afa3a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e9629996-5442-453a-9863-81af0a4afa3a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e9629996-5442-453a-9863-81af0a4afa3a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e9629996-5442-453a-9863-81af0a4afa3a/states", "rel": "self"}, {"href": "http://localhost/nodes/e9629996-5442-453a-9863-81af0a4afa3a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e9629996-5442-453a-9863-81af0a4afa3a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e9629996-5442-453a-9863-81af0a4afa3a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e9629996-5442-453a-9863-81af0a4afa3a/volume", "rel": "self"}, {"href": "http://localhost/nodes/e9629996-5442-453a-9863-81af0a4afa3a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2956581d-f37f-4835-be43-fbe21aec8202 [{'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-bc756f41-cadc-45f6-80ff-3aa4b01ce171 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 \\\"2956581d-f37f-4835-be43-fbe21aec8202\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/aacf725d-7cce-45e4-8669-71f9779ee6ed [{'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-2efb16dc-a4a8-4ae8-b253-5647edb2a8bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/220a58fa-6bdd-41b3-be47-79e2370412dd [{'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'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-589fd506-8fff-409e-a6b5-12e1142a64f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "220a58fa-6bdd-41b3-be47-79e2370412dd", "created_at": "2023-10-12T03:26:42.545994+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/220a58fa-6bdd-41b3-be47-79e2370412dd", "rel": "self"}, {"href": "http://localhost/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/ports", "rel": "self"}, {"href": "http://localhost/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/states", "rel": "self"}, {"href": "http://localhost/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/volume", "rel": "self"}, {"href": "http://localhost/nodes/220a58fa-6bdd-41b3-be47-79e2370412dd/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.528586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.090302s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-1986ddf9-b47b-451e-9a3b-d35bafb55167 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-3d216c5d-b115-430c-af96-84524e50e960 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-ab419b2c-9e3f-4d01-97f9-ad7ee878c3a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-99126963-4e54-44e1-a55f-a1be7b51973a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-732006f1-88e1-4d78-9cef-835759ca4305 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/21d3cc8a-b077-44d7-8419-eba918f80549 [{'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-351ba2b5-d9b0-4ec7-aa70-89989f033d9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/4a4f4bbe-e867-431d-9610-45a1103575d3 [{'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-0e9dc97d-4998-4cfb-b355-158d8010acfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "4a4f4bbe-e867-431d-9610-45a1103575d3", "created_at": "2023-10-12T03:26:42.169171+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": "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/4a4f4bbe-e867-431d-9610-45a1103575d3", "rel": "self"}, {"href": "http://localhost/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/ports", "rel": "self"}, {"href": "http://localhost/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/states", "rel": "self"}, {"href": "http://localhost/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/volume", "rel": "self"}, {"href": "http://localhost/nodes/4a4f4bbe-e867-431d-9610-45a1103575d3/volume", "rel": "bookmark"}]} 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-37441029-9c73-480f-9e75-01c097b66da0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:42.374084+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/2c263318-ce87-4c2c-b76c-5bc11c207604 [{'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-ec50ef25-7747-4a97-a776-ace3eff221cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2c263318-ce87-4c2c-b76c-5bc11c207604", "created_at": "2023-10-12T03:26:42.718885+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/2c263318-ce87-4c2c-b76c-5bc11c207604", "rel": "self"}, {"href": "http://localhost/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/ports", "rel": "self"}, {"href": "http://localhost/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/states", "rel": "self"}, {"href": "http://localhost/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/volume", "rel": "self"}, {"href": "http://localhost/nodes/2c263318-ce87-4c2c-b76c-5bc11c207604/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.334739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.253583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.190596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.103206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.188283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.334717s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62 [{'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-d733b8ae-e37f-4e4a-bc12-7b7841fba86a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "aaf7150b-a5c0-449e-99d4-c509b550cf62", "created_at": "2023-10-12T03:26:42.862570+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/aaf7150b-a5c0-449e-99d4-c509b550cf62", "rel": "self"}, {"href": "http://localhost/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/ports", "rel": "self"}, {"href": "http://localhost/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/states", "rel": "self"}, {"href": "http://localhost/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/volume", "rel": "self"}, {"href": "http://localhost/nodes/aaf7150b-a5c0-449e-99d4-c509b550cf62/volume", "rel": "bookmark"}]} 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-2903f264-2641-4f6d-bbdb-9ac260253bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:42.957367+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/5de73037-ca20-451d-be9e-df7078dd8c1a [{'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-0fb86b72-eb68-4942-8b16-e43efebb5ab8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "5de73037-ca20-451d-be9e-df7078dd8c1a", "created_at": "2023-10-12T03:26:43.143121+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/5de73037-ca20-451d-be9e-df7078dd8c1a", "rel": "self"}, {"href": "http://localhost/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/ports", "rel": "self"}, {"href": "http://localhost/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/states", "rel": "self"}, {"href": "http://localhost/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/volume", "rel": "self"}, {"href": "http://localhost/nodes/5de73037-ca20-451d-be9e-df7078dd8c1a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d [{'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-44566926-62de-43a7-989a-bc5498ee5578 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "62dde05e-2ca6-4925-aebf-866adfa7cf1d", "created_at": "2023-10-12T03:26:43.259063+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/62dde05e-2ca6-4925-aebf-866adfa7cf1d", "rel": "self"}, {"href": "http://localhost/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/ports", "rel": "self"}, {"href": "http://localhost/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/states", "rel": "self"}, {"href": "http://localhost/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/volume", "rel": "self"}, {"href": "http://localhost/nodes/62dde05e-2ca6-4925-aebf-866adfa7cf1d/volume", "rel": "bookmark"}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.148522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.102197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.232414s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/a924fbdd-d2bd-4144-899e-5cbbad3d782d [{'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-7e187a6d-31c2-462e-85c9-66371783675c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/2ec7668d-60dd-456e-9ba4-b4756cf94e80 [{'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-b998dd9a-9c1a-4149-9d23-3faa23427530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/b230efa8-d9ef-4d44-8f31-c12b0babf6d3 [{'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-f3b3f806-6832-4ff5-ba5a-bb07fdd69070 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "b230efa8-d9ef-4d44-8f31-c12b0babf6d3", "created_at": "2023-10-12T03:26:42.217908+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/b230efa8-d9ef-4d44-8f31-c12b0babf6d3", "rel": "self"}, {"href": "http://localhost/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/states", "rel": "self"}, {"href": "http://localhost/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/volume", "rel": "self"}, {"href": "http://localhost/nodes/b230efa8-d9ef-4d44-8f31-c12b0babf6d3/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/244f0afd-f13e-4b3e-831b-90501c793964 [{'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-f69ceff8-d90a-468a-a0a2-3de54690e456 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "244f0afd-f13e-4b3e-831b-90501c793964", "created_at": "2023-10-12T03:26:42.672423+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/244f0afd-f13e-4b3e-831b-90501c793964", "rel": "self"}, {"href": "http://localhost/nodes/244f0afd-f13e-4b3e-831b-90501c793964", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/244f0afd-f13e-4b3e-831b-90501c793964/ports", "rel": "self"}, {"href": "http://localhost/nodes/244f0afd-f13e-4b3e-831b-90501c793964/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/244f0afd-f13e-4b3e-831b-90501c793964/states", "rel": "self"}, {"href": "http://localhost/nodes/244f0afd-f13e-4b3e-831b-90501c793964/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/244f0afd-f13e-4b3e-831b-90501c793964/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/244f0afd-f13e-4b3e-831b-90501c793964/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/244f0afd-f13e-4b3e-831b-90501c793964/volume", "rel": "self"}, {"href": "http://localhost/nodes/244f0afd-f13e-4b3e-831b-90501c793964/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e7ee5ca1-330f-450b-a460-387a21208e77 [{'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-640c0fb9-62cb-42aa-bed9-dc0c24696fb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "e7ee5ca1-330f-450b-a460-387a21208e77", "created_at": "2023-10-12T03:26:43.095752+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/e7ee5ca1-330f-450b-a460-387a21208e77", "rel": "self"}, {"href": "http://localhost/nodes/e7ee5ca1-330f-450b-a460-387a21208e77", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/states", "rel": "self"}, {"href": "http://localhost/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7ee5ca1-330f-450b-a460-387a21208e77/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.638606s] ... ok 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-1e98ad61-6800-4d7a-a500-507ce66b31ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-8363e042-79b4-416a-bb6d-f92469215c21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:42.607648+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/e207e422-790c-4531-bb74-cf251efefcb1 [{'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-00236b8c-e1e6-4b64-98ab-4841bc99f5c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "e207e422-790c-4531-bb74-cf251efefcb1", "created_at": "2023-10-12T03:26:42.970104+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/e207e422-790c-4531-bb74-cf251efefcb1", "rel": "self"}, {"href": "http://localhost/nodes/e207e422-790c-4531-bb74-cf251efefcb1", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e207e422-790c-4531-bb74-cf251efefcb1/ports", "rel": "self"}, {"href": "http://localhost/nodes/e207e422-790c-4531-bb74-cf251efefcb1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e207e422-790c-4531-bb74-cf251efefcb1/states", "rel": "self"}, {"href": "http://localhost/nodes/e207e422-790c-4531-bb74-cf251efefcb1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e207e422-790c-4531-bb74-cf251efefcb1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e207e422-790c-4531-bb74-cf251efefcb1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e207e422-790c-4531-bb74-cf251efefcb1/volume", "rel": "self"}, {"href": "http://localhost/nodes/e207e422-790c-4531-bb74-cf251efefcb1/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-924b4ec1-7d0f-482c-9a7c-9cb1f1db31d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-aa3c8123-2460-4e5f-afa6-77a6587f2f19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-151f2b5f-61b6-41e8-aeba-c6db3a965c24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-f1f1523f-00d1-4183-98a1-ec8c482e541e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-698b1b3f-5c8f-48a5-9fd7-a1f504bb76ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-20aed96b-a874-4d7b-9daa-4857711be8ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-8b37c1dd-b547-4840-a49c-72ad631a37e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-7200da7e-deb3-4f76-be8a-6649baac6c78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.479330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.727952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.088811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.634020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.654368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.089284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.275947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.243561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.220063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.358612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.070300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.364684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.118948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.147176s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.093199s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/d76d8b47-4218-4e9b-a854-fa1edd56a185 [{'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-027a753f-bc61-4ba1-bfde-eb92d6ff5542 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/6a73b5ba-6590-442e-b1b7-364e6c212fc8 [{'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-7b975d17-49aa-4270-9b0b-4344ed0dfbbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 \\\"6a73b5ba-6590-442e-b1b7-364e6c212fc8\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/835c4201-9e60-483b-a719-17c983d681c4 [{'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-20b50e66-5ef6-4d69-a211-91b5f60ed6f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "835c4201-9e60-483b-a719-17c983d681c4", "created_at": "2023-10-12T03:26:44.383233+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/835c4201-9e60-483b-a719-17c983d681c4", "rel": "self"}, {"href": "http://localhost/nodes/835c4201-9e60-483b-a719-17c983d681c4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/835c4201-9e60-483b-a719-17c983d681c4/ports", "rel": "self"}, {"href": "http://localhost/nodes/835c4201-9e60-483b-a719-17c983d681c4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/835c4201-9e60-483b-a719-17c983d681c4/states", "rel": "self"}, {"href": "http://localhost/nodes/835c4201-9e60-483b-a719-17c983d681c4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/835c4201-9e60-483b-a719-17c983d681c4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/835c4201-9e60-483b-a719-17c983d681c4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/835c4201-9e60-483b-a719-17c983d681c4/volume", "rel": "self"}, {"href": "http://localhost/nodes/835c4201-9e60-483b-a719-17c983d681c4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941 [{'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-296cf4b6-9386-4539-984d-36081cbd9d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "1ffa7aeb-e44e-4018-9eaa-e95c2c31e941", "created_at": "2023-10-12T03:26:44.477216+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/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941", "rel": "self"}, {"href": "http://localhost/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/states", "rel": "self"}, {"href": "http://localhost/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ffa7aeb-e44e-4018-9eaa-e95c2c31e941/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7 [{'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-df1be97b-dd08-44da-9bfa-08e5a6868477 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "55d50480-b4c4-4f58-9f18-d791c0302ae7", "created_at": "2023-10-12T03:26:44.598468+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/55d50480-b4c4-4f58-9f18-d791c0302ae7", "rel": "self"}, {"href": "http://localhost/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/ports", "rel": "self"}, {"href": "http://localhost/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/states", "rel": "self"}, {"href": "http://localhost/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/volume", "rel": "self"}, {"href": "http://localhost/nodes/55d50480-b4c4-4f58-9f18-d791c0302ae7/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.107594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.121618s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.103670s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7 [{'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-859b5f74-ff72-4447-a843-d05ae07932a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7", "created_at": "2023-10-12T03:26:43.394776+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/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7", "rel": "self"}, {"href": "http://localhost/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/ports", "rel": "self"}, {"href": "http://localhost/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/states", "rel": "self"}, {"href": "http://localhost/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/volume", "rel": "self"}, {"href": "http://localhost/nodes/7a6bd95f-c0ef-45bc-93fe-c2395ce0a7a7/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/954f6a45-1619-4810-8039-9a2b99445be6 [{'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-fdcbfe1c-eabe-48b7-9d36-09c71691293c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f [{'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-4d2f5ccc-6640-4eba-85ed-8311e679a350 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f", "created_at": "2023-10-12T03:26:44.244998+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/6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f", "rel": "self"}, {"href": "http://localhost/nodes/6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f/ports", "rel": "self"}, {"href": "http://localhost/nodes/6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f/states", "rel": "self"}, {"href": "http://localhost/nodes/6af8b213-41ef-4eaf-a5ca-a92a1e63fb3f/states", "rel": "bookmark"}]} 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-9f16eac7-28e0-473f-841b-8d836d5797a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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) Failed validating 'additionalProperties' in schema['items']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/ce2a07c5-fd6a-4511-b675-f42c7f2144cd [{'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-ec6bb26e-7e88-4b14-9af4-e153da3445d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': {}, '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-11c58078-e953-4346-a3e0-b9b27ad210b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.078177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.143565s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8 [{'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-637190e8-736a-40fa-8acc-e65bfb11e046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d5e9be08-ffe7-4797-8432-d2484801ecb8", "created_at": "2023-10-12T03:26:43.383000+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": "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/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5e9be08-ffe7-4797-8432-d2484801ecb8/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/403a8d19-6aaf-45ea-908b-243b6f518633 [{'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'}] 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-7002cce7-5b97-44b8-a354-c33ed5f838a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/239d2241-d9c2-4609-9979-4acc6941f173 [{'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-8746f54b-c529-4f30-bc42-e3fd1cf92df2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-deb37ae7-a154-4380-8035-f9f37d405758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:44.221913+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/2e335389-332b-45e1-a491-82f477f615b1 [{'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-062b027c-781e-4c13-a3f6-ea44ea748d3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 \\\"2e335389-332b-45e1-a491-82f477f615b1\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97 [{'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-fe6d4c3f-893d-421d-b87e-c1cec5e6f08a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "0986a7d7-1990-49fa-a9e1-48152fa66b97", "created_at": "2023-10-12T03:26:44.687868+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/0986a7d7-1990-49fa-a9e1-48152fa66b97", "rel": "self"}, {"href": "http://localhost/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/ports", "rel": "self"}, {"href": "http://localhost/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/states", "rel": "self"}, {"href": "http://localhost/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/volume", "rel": "self"}, {"href": "http://localhost/nodes/0986a7d7-1990-49fa-a9e1-48152fa66b97/volume", "rel": "bookmark"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.254196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.164381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.107646s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.046137s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/788541f5-76be-4178-b353-842ef84439a8 [{'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-63a57f4d-5b46-4cc6-a769-ec65e0f4efe7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/c7b01b49-d91e-4198-ba1b-002c551cdeb9 [{'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-952342e3-6f47-4925-bedc-01e3e2b16552 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/f8920907-173b-40dc-8626-8404d73de5f9 [{'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-df12fb1a-0147-4097-b6d2-baacfc5a6aab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "f8920907-173b-40dc-8626-8404d73de5f9", "created_at": "2023-10-12T03:26:43.909394+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/f8920907-173b-40dc-8626-8404d73de5f9", "rel": "self"}, {"href": "http://localhost/nodes/f8920907-173b-40dc-8626-8404d73de5f9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f8920907-173b-40dc-8626-8404d73de5f9/ports", "rel": "self"}, {"href": "http://localhost/nodes/f8920907-173b-40dc-8626-8404d73de5f9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f8920907-173b-40dc-8626-8404d73de5f9/states", "rel": "self"}, {"href": "http://localhost/nodes/f8920907-173b-40dc-8626-8404d73de5f9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f8920907-173b-40dc-8626-8404d73de5f9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f8920907-173b-40dc-8626-8404d73de5f9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f8920907-173b-40dc-8626-8404d73de5f9/volume", "rel": "self"}, {"href": "http://localhost/nodes/f8920907-173b-40dc-8626-8404d73de5f9/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1 [{'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-9762a8d5-1958-4fe8-92ab-9447cb12b317 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "cb60e346-a69e-41d6-9dab-1f2ab12a6ce1", "created_at": "2023-10-12T03:26:44.256466+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/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1", "rel": "self"}, {"href": "http://localhost/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/ports", "rel": "self"}, {"href": "http://localhost/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/states", "rel": "self"}, {"href": "http://localhost/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/volume", "rel": "self"}, {"href": "http://localhost/nodes/cb60e346-a69e-41d6-9dab-1f2ab12a6ce1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb [{'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-df5f0072-b0dc-4ec1-89f0-4b42f58c8d49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "84f119e8-e309-4dde-ab2d-d935fb0a33eb", "created_at": "2023-10-12T03:26:44.684386+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": "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/84f119e8-e309-4dde-ab2d-d935fb0a33eb", "rel": "self"}, {"href": "http://localhost/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/ports", "rel": "self"}, {"href": "http://localhost/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/states", "rel": "self"}, {"href": "http://localhost/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/volume", "rel": "self"}, {"href": "http://localhost/nodes/84f119e8-e309-4dde-ab2d-d935fb0a33eb/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.390141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.337239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.105846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.237672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.402116s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/2b4f0440-7c27-46bd-9231-3402c316cd65 [{'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-24a9800b-179e-4c94-b7e5-417f80d4d769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/3ff1e30b-a56d-4d48-810c-cb984394aba8 [{'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-03526b3f-965c-4bd6-a95c-3304e44b613a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/21fb44ac-9418-44e4-8adc-42506d799c97 [{'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-ad5b3f43-a783-4f28-95dd-20aacfa218eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "21fb44ac-9418-44e4-8adc-42506d799c97", "created_at": "2023-10-12T03:26:44.951293+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/21fb44ac-9418-44e4-8adc-42506d799c97", "rel": "self"}, {"href": "http://localhost/nodes/21fb44ac-9418-44e4-8adc-42506d799c97", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/ports", "rel": "self"}, {"href": "http://localhost/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/states", "rel": "self"}, {"href": "http://localhost/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/volume", "rel": "self"}, {"href": "http://localhost/nodes/21fb44ac-9418-44e4-8adc-42506d799c97/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/0a50dc6f-5a8f-4fa8-98ab-f1697e8ec512 [{'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-d10eb5aa-7e67-4217-9f46-f749414d87bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-af9a3ea4-9060-4f56-b151-9ca2021bd65c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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"}]} 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': {}, '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-6d27a21f-8df7-486a-8e5c-74c4162751c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.141542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.257339s] ... 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': 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': '8739df08-8826-4db3-8248-a5a163049650', '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/8739df08-8826-4db3-8248-a5a163049650 DEBUG util.py:445: Openstack-Request-Id: req-87a9fef3-4d04-4440-b51d-95ef6bccf3db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "8739df08-8826-4db3-8248-a5a163049650", "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/8739df08-8826-4db3-8248-a5a163049650", "rel": "self"}, {"href": "http://localhost/nodes/8739df08-8826-4db3-8248-a5a163049650", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8739df08-8826-4db3-8248-a5a163049650/ports", "rel": "self"}, {"href": "http://localhost/nodes/8739df08-8826-4db3-8248-a5a163049650/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/8739df08-8826-4db3-8248-a5a163049650 {} DEBUG util.py:445: GOT:{'uuid': '8739df08-8826-4db3-8248-a5a163049650', '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/8739df08-8826-4db3-8248-a5a163049650', 'rel': 'self'}, {'href': 'http://localhost/nodes/8739df08-8826-4db3-8248-a5a163049650', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8739df08-8826-4db3-8248-a5a163049650/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8739df08-8826-4db3-8248-a5a163049650/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'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.069540s] ... 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-606c11e2-9c60-417d-8355-b319df94c6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-9c79a125-ce69-4362-8449-9307848ccb41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:44.990320+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': '2023-10-12T03:26:44.990320+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': '2023-10-12T03:26:44.990320+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': {}, 'lessee': 'project', '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-aa833f85-a516-47e6-af5f-a86e79891d6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:26:45.335642+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "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_lessee [0.285363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.121532s] ... 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-eb4a6326-998a-4863-bb5e-b46cfc14b7fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long Failed validating 'maxLength' in schema['properties']['description']\", \"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-5818020e-f84b-4f34-bc90-e0740c0a1c41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.241495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.133838s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/639bea66-72e2-4e03-9e36-09a6b0e3e6af [{'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-b58ba7bb-3a68-4ec6-9580-a643a0164861 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/23bc681b-fdec-4a34-a3d8-fa360755ecbd [{'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-636e97eb-31e8-44c2-8acf-dd75ec21ae6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "23bc681b-fdec-4a34-a3d8-fa360755ecbd", "created_at": "2023-10-12T03:26:45.069655+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/23bc681b-fdec-4a34-a3d8-fa360755ecbd", "rel": "self"}, {"href": "http://localhost/nodes/23bc681b-fdec-4a34-a3d8-fa360755ecbd", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/23bc681b-fdec-4a34-a3d8-fa360755ecbd/ports", "rel": "self"}, {"href": "http://localhost/nodes/23bc681b-fdec-4a34-a3d8-fa360755ecbd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/23bc681b-fdec-4a34-a3d8-fa360755ecbd/states", "rel": "self"}, {"href": "http://localhost/nodes/23bc681b-fdec-4a34-a3d8-fa360755ecbd/states", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140 [{'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-57f77615-dd87-4159-8282-5b0461bbc02d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140", "created_at": "2023-10-12T03:26:45.320449+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/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140", "rel": "self"}, {"href": "http://localhost/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/ports", "rel": "self"}, {"href": "http://localhost/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/states", "rel": "self"}, {"href": "http://localhost/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/volume", "rel": "self"}, {"href": "http://localhost/nodes/f1fc9ff5-2f7c-456a-8d7a-e5a7529c8140/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': {}, '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-a5cf446f-4dfa-4ff6-ab88-ee8b9e093337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:26:45.690248+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.297188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.094309s] ... ok 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-6b888a63-a273-497d-afff-8cb41dbcb837 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:45.043375+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': {}, '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-c0a32722-4d27-42c8-9562-a99ee537bed6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:26:45.555098+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "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, "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': '2023-10-12T03:26:45.555098+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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_automated_clean [0.330560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.221282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.400107s] ... 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': '2023-10-12T03:26:45.335642+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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': {}, '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-67729f72-2d0d-42cb-ad84-d324e07be35e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {'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-a1b2bf27-f13b-48d1-9d28-0b792b43ef95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_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-a1e6c578-5012-47a1-941a-ac84619b66ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'required' in schema\", \"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-a3b97072-769f-4dce-a895-de1a1cb4c4f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:26:45.870808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "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_owner [0.123195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.598749s] ... 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': '2023-10-12T03:26:45.870808+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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-e8310f0a-3d11-4e54-8d34-03d2161c2d9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:46.009087+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"}]} 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': '2023-10-12T03:26:46.009087+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'}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.130339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.231636s] ... 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': '2023-10-12T03:26:45.690248+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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-15f7302a-0d2f-4bae-b2ef-03896efd425e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:45.951953+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"}]} 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': '2023-10-12T03:26:45.951953+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-ad3b0741-9080-4e47-b851-cf648cb778ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.270517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.394589s] ... 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': {}, '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-1a31e2ea-8586-4965-89ca-6b2f51929b2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} 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-60e4835b-d865-4b58-96de-f6094bfd3235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f29df169-9030-4225-bd9d-781ee34bcc82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-8f53e196-d629-4785-8754-9ef59fcfcc66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-b093357d-b253-4169-a0fa-330fa22f19f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-1f395596-6db5-45f5-8a37-f9c412a0ad1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-1631e76e-368f-483c-ac0c-62b7b13d77be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-ee94c801-4181-4d9f-a5d1-cf9b8da83fc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}, '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-232f0ca8-0c7d-4c36-b181-1515e9b620e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.114673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.052171s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.272973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.350861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.218411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.234732s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.089437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.191832s] ... 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': {}, '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-9ea3ba00-e088-4222-a2fe-5ba4a0ab4d18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:26:45.782524+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "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': '2023-10-12T03:26:45.782524+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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': {}, '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-b254910f-6b2f-43df-a65f-67b803a57bfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-07e1be14-17ea-41ed-971f-9df1df352662 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:46.746659+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"}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.442123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.124396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.093130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.246945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.158373s] ... 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: 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-96cada06-0375-4d76-85f2-fec096696d23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:46.000100+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"}]} 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': '2023-10-12T03:26:46.000100+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': {'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-20168aed-b395-43b7-ab7e-a77650da7052 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:46.496768+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': '2023-10-12T03:26:46.496768+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-362a034e-ca57-4a89-a20e-0d5c846e1580 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': {}, '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-b5ac3da5-1ea4-4ab4-b53b-5151499b56f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.193880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.222895s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.346260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.298560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.295703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.712031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.261512s] ... 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, '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': {}, '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-78455f06-eca9-4a78-9bb7-f1d467f31b79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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' Failed validating 'type' in schema['properties']['chassis_uuid']\", \"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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d84d323-2e6d-48e3-86cd-a3f2c660fffc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {'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-f8a631a8-7701-48e5-b1ee-b9e6b6f8677a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-791598fb-6b17-4201-aa5e-585a3af52fd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}} 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-a487775e-9923-4665-8ec1-0cd9b513d055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:47.473588+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 {'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'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.427927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.224294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.133606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.374596s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.133090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.182397s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.111252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.170546s] ... 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': {}, '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-50246d6b-7238-4e1a-85dd-dd06c20eb146 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-e759dec4-7852-4581-8115-2fa8ef1239f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:46.608723+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': '2023-10-12T03:26:46.608723+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/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-2d2fd01e-7ed1-49f4-a5a6-81d5d31f6ec0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-64b7e709-adb7-4119-94b5-05e776392de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/vendor_passthru/do_test DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-c0c79c7b-8171-4e50-8f0c-2ba80efff12a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-db2d6ca3-4253-4d13-a6ad-3df44f29ad08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-b6a18156-2241-4639-9bd6-2be09b8ac831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-3200ef86-cd88-47b0-b3da-1be74b122000 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-01391dc2-74ed-49e0-b5a6-fc75e0417e93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-c349e54c-532d-44b3-9fde-5f241f2b096a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.186919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.161672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.101674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.336169s] ... 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.121323s] ... 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-0b86342e-4a0e-4a19-920a-bbbfe546058c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-d912ec8f-0acf-46a5-8e3c-aedf74e4c61f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-8c65b63e-4c7c-4555-a634-83a5c856d2ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3d660363-f3f3-400e-b47b-22f017261c8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-1b490e31-bbb4-4b71-a9fc-7f8afcd0582c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fefdf8d1-90a7-4d29-a83d-1e1f272ce3ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-81ab5294-0633-429d-b892-6c8ab6147a0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:26:48.061384+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "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, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.250091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.089030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.165706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.184961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.119578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.171092s] ... 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.171089s] ... 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': '2023-10-12T03:26:48.061384+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', '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, '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: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-284b0761-6082-4c0a-a3e3-a2e2a7bc4c0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-85d349a6-1d94-4a54-9c3a-11a440ce4978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:48.384842+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': '2023-10-12T03:26:48.384842+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'}]} 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-55cf0d2d-0c43-493d-8f6e-7438d6d8197c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:48.622603+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"}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.300699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.553515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.188711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.373220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.286909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.247362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.217595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.167949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.206420s] ... 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': '2023-10-12T03:26:46.746659+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: 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-d033781f-014e-4c1e-b741-0cb18ec880b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8fb6532-a980-45e9-b556-98906007b230 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-2a25d6cd-6ea1-42fb-8a11-dde04d0c0b87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} 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-9b3a0b7f-7a10-4fc3-a2fc-ef4bea05b305 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-4a9ee777-b30f-43d4-b215-03b4adf886c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-870fcb3f-99de-4b59-bd60-57fe6f24a2c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-a599c373-5964-4f7c-9c63-8a60af91bf24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-6b9c5815-7ed8-463b-a3c5-1031c3a09e13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-98b6ca52-8825-4588-bd24-0d78fb2f5eaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} 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-88faaf08-57ce-43b6-a316-71c7fdfcad24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-86227567-1af8-4e0b-b41c-eb217c5b3d1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-584ce301-d7bb-4054-b80a-c1bd72a609c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-910f47c1-e23a-437a-8b27-52110ebc8cab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-b7234718-3e9f-4bf0-a4d1-97c5b3671a0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'provide', 'clean_steps': 'foo'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.239328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.147278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.176805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.202676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.154123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.166499s] ... 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': {}, '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-cc19f792-6fd9-4b82-ab86-d25395f688c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 {'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-60757bd7-9147-496d-9a9c-db460e99faf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:47.659438+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': '2023-10-12T03:26:47.659438+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': {}, '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-16d07118-1f4d-48d2-a46e-2b03c2cf8415 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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) Failed validating 'additionalProperties' in schema\", \"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-d4fb5df6-e256-47ab-a333-8fe7212464ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '099ab2c6-f291-4901-aaf2-b712e79ae2fb', '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/099ab2c6-f291-4901-aaf2-b712e79ae2fb DEBUG util.py:445: Openstack-Request-Id: req-a565352d-c5c9-49f0-b168-65de8d849080 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "099ab2c6-f291-4901-aaf2-b712e79ae2fb", "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/099ab2c6-f291-4901-aaf2-b712e79ae2fb", "rel": "self"}, {"href": "http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/ports", "rel": "self"}, {"href": "http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/states", "rel": "self"}, {"href": "http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/volume", "rel": "self"}, {"href": "http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb {} DEBUG util.py:445: GOT:{'uuid': '099ab2c6-f291-4901-aaf2-b712e79ae2fb', '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/099ab2c6-f291-4901-aaf2-b712e79ae2fb', 'rel': 'self'}, {'href': 'http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/099ab2c6-f291-4901-aaf2-b712e79ae2fb/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'c9051fdd-1947-41e6-9a48-407d5bd042fc', '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/c9051fdd-1947-41e6-9a48-407d5bd042fc DEBUG util.py:445: Openstack-Request-Id: req-64e9fb21-de5e-4c54-8cdc-73d296b1438a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "c9051fdd-1947-41e6-9a48-407d5bd042fc", "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/c9051fdd-1947-41e6-9a48-407d5bd042fc", "rel": "self"}, {"href": "http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/ports", "rel": "self"}, {"href": "http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/states", "rel": "self"}, {"href": "http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/volume", "rel": "self"}, {"href": "http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc {} DEBUG util.py:445: GOT:{'uuid': 'c9051fdd-1947-41e6-9a48-407d5bd042fc', '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/c9051fdd-1947-41e6-9a48-407d5bd042fc', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c9051fdd-1947-41e6-9a48-407d5bd042fc/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'a3f6ec68-62ca-43be-bbe3-92722fa7d654', '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/a3f6ec68-62ca-43be-bbe3-92722fa7d654 DEBUG util.py:445: Openstack-Request-Id: req-15d93804-f5a5-41da-9d37-5d63333b1043 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "a3f6ec68-62ca-43be-bbe3-92722fa7d654", "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/a3f6ec68-62ca-43be-bbe3-92722fa7d654", "rel": "self"}, {"href": "http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/ports", "rel": "self"}, {"href": "http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/states", "rel": "self"}, {"href": "http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/volume", "rel": "self"}, {"href": "http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654 {} DEBUG util.py:445: GOT:{'uuid': 'a3f6ec68-62ca-43be-bbe3-92722fa7d654', '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/a3f6ec68-62ca-43be-bbe3-92722fa7d654', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a3f6ec68-62ca-43be-bbe3-92722fa7d654/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'dcf0af09-b5c1-43c5-8488-7b9c569551e6', '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/dcf0af09-b5c1-43c5-8488-7b9c569551e6 DEBUG util.py:445: Openstack-Request-Id: req-5bece72f-1226-4f29-a334-cce68251dd9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "dcf0af09-b5c1-43c5-8488-7b9c569551e6", "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/dcf0af09-b5c1-43c5-8488-7b9c569551e6", "rel": "self"}, {"href": "http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/ports", "rel": "self"}, {"href": "http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/states", "rel": "self"}, {"href": "http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/volume", "rel": "self"}, {"href": "http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6 {} DEBUG util.py:445: GOT:{'uuid': 'dcf0af09-b5c1-43c5-8488-7b9c569551e6', '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/dcf0af09-b5c1-43c5-8488-7b9c569551e6', 'rel': 'self'}, {'href': 'http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/dcf0af09-b5c1-43c5-8488-7b9c569551e6/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'ae586fa7-7da9-444b-88e6-75af066db793', '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/ae586fa7-7da9-444b-88e6-75af066db793 DEBUG util.py:445: Openstack-Request-Id: req-86eab7a9-4263-4226-af89-87c1c3851f1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "ae586fa7-7da9-444b-88e6-75af066db793", "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/ae586fa7-7da9-444b-88e6-75af066db793", "rel": "self"}, {"href": "http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/ports", "rel": "self"}, {"href": "http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/states", "rel": "self"}, {"href": "http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/volume", "rel": "self"}, {"href": "http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793 {} DEBUG util.py:445: GOT:{'uuid': 'ae586fa7-7da9-444b-88e6-75af066db793', '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/ae586fa7-7da9-444b-88e6-75af066db793', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/ae586fa7-7da9-444b-88e6-75af066db793/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae586fa7-7da9-444b-88e6-75af066db793/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'db29c13c-cc7b-4de3-be49-fc94816816ad', '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/db29c13c-cc7b-4de3-be49-fc94816816ad DEBUG util.py:445: Openstack-Request-Id: req-780d43c1-8c95-442f-84d2-5683f2fb2f09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "db29c13c-cc7b-4de3-be49-fc94816816ad", "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/db29c13c-cc7b-4de3-be49-fc94816816ad", "rel": "self"}, {"href": "http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/ports", "rel": "self"}, {"href": "http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/states", "rel": "self"}, {"href": "http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/volume", "rel": "self"}, {"href": "http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad {} DEBUG util.py:445: GOT:{'uuid': 'db29c13c-cc7b-4de3-be49-fc94816816ad', '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/db29c13c-cc7b-4de3-be49-fc94816816ad', 'rel': 'self'}, {'href': 'http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/db29c13c-cc7b-4de3-be49-fc94816816ad/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'a96562f1-02e7-489c-873b-499bc8debc94', '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/a96562f1-02e7-489c-873b-499bc8debc94 DEBUG util.py:445: Openstack-Request-Id: req-6d8eacfa-48ec-4673-b36e-eb770651babe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "a96562f1-02e7-489c-873b-499bc8debc94", "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/a96562f1-02e7-489c-873b-499bc8debc94", "rel": "self"}, {"href": "http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/ports", "rel": "self"}, {"href": "http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/states", "rel": "self"}, {"href": "http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/volume", "rel": "self"}, {"href": "http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94 {} DEBUG util.py:445: GOT:{'uuid': 'a96562f1-02e7-489c-873b-499bc8debc94', '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/a96562f1-02e7-489c-873b-499bc8debc94', 'rel': 'self'}, {'href': 'http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a96562f1-02e7-489c-873b-499bc8debc94/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a96562f1-02e7-489c-873b-499bc8debc94/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '68026551-bf93-4eee-a3be-5f8983aca0dc', '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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc DEBUG util.py:445: Openstack-Request-Id: req-a7225771-328b-4ac9-a852-fad3dee663cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "68026551-bf93-4eee-a3be-5f8983aca0dc", "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/68026551-bf93-4eee-a3be-5f8983aca0dc", "rel": "self"}, {"href": "http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/ports", "rel": "self"}, {"href": "http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/states", "rel": "self"}, {"href": "http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/volume", "rel": "self"}, {"href": "http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc {} DEBUG util.py:445: GOT:{'uuid': '68026551-bf93-4eee-a3be-5f8983aca0dc', '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/68026551-bf93-4eee-a3be-5f8983aca0dc', 'rel': 'self'}, {'href': 'http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/68026551-bf93-4eee-a3be-5f8983aca0dc/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '0e465230-0ad9-4ce0-b813-663f9443c333', '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/0e465230-0ad9-4ce0-b813-663f9443c333 DEBUG util.py:445: Openstack-Request-Id: req-bc26967e-c730-4831-ba18-12efcfb7e34d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "0e465230-0ad9-4ce0-b813-663f9443c333", "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/0e465230-0ad9-4ce0-b813-663f9443c333", "rel": "self"}, {"href": "http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/ports", "rel": "self"}, {"href": "http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/states", "rel": "self"}, {"href": "http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/volume", "rel": "self"}, {"href": "http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333 {} DEBUG util.py:445: GOT:{'uuid': '0e465230-0ad9-4ce0-b813-663f9443c333', '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/0e465230-0ad9-4ce0-b813-663f9443c333', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e465230-0ad9-4ce0-b813-663f9443c333/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1f11640f-9987-4d1e-a245-13140a7b9130', '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/1f11640f-9987-4d1e-a245-13140a7b9130 DEBUG util.py:445: Openstack-Request-Id: req-02426bb0-97fe-49f7-8340-fb504d526dbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "1f11640f-9987-4d1e-a245-13140a7b9130", "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/1f11640f-9987-4d1e-a245-13140a7b9130", "rel": "self"}, {"href": "http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/states", "rel": "self"}, {"href": "http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130 {} DEBUG util.py:445: GOT:{'uuid': '1f11640f-9987-4d1e-a245-13140a7b9130', '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/1f11640f-9987-4d1e-a245-13140a7b9130', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f11640f-9987-4d1e-a245-13140a7b9130/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '2fe75c03-0be0-4aff-b538-c18587aa04ad', '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/2fe75c03-0be0-4aff-b538-c18587aa04ad DEBUG util.py:445: Openstack-Request-Id: req-bf399e01-f819-4207-88b5-655e63533b46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2fe75c03-0be0-4aff-b538-c18587aa04ad", "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/2fe75c03-0be0-4aff-b538-c18587aa04ad", "rel": "self"}, {"href": "http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/ports", "rel": "self"}, {"href": "http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/states", "rel": "self"}, {"href": "http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/volume", "rel": "self"}, {"href": "http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad {} DEBUG util.py:445: GOT:{'uuid': '2fe75c03-0be0-4aff-b538-c18587aa04ad', '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/2fe75c03-0be0-4aff-b538-c18587aa04ad', 'rel': 'self'}, {'href': 'http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/2fe75c03-0be0-4aff-b538-c18587aa04ad/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'a44ea148-d98f-4726-b8fb-e21594b921df', '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'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.039754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.105275s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.096676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.104066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.155902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.179888s] ... 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/a44ea148-d98f-4726-b8fb-e21594b921df DEBUG util.py:445: Openstack-Request-Id: req-9d7408cc-a604-4217-9921-78fe674bf810 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "a44ea148-d98f-4726-b8fb-e21594b921df", "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/a44ea148-d98f-4726-b8fb-e21594b921df", "rel": "self"}, {"href": "http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/ports", "rel": "self"}, {"href": "http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/states", "rel": "self"}, {"href": "http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/volume", "rel": "self"}, {"href": "http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df {} DEBUG util.py:445: GOT:{'uuid': 'a44ea148-d98f-4726-b8fb-e21594b921df', '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/a44ea148-d98f-4726-b8fb-e21594b921df', 'rel': 'self'}, {'href': 'http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a44ea148-d98f-4726-b8fb-e21594b921df/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', '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-23164f6c-665c-4cb2-bf42-5bca6a019593 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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) Failed validating 'additionalProperties' in schema\", \"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-db906f6f-f107-450e-bc56-fab7009f5e5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-066462a8-015e-4768-a6d0-17f04c5d688a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38e4fe08-625b-4e3a-ba35-1d0c5371b3ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8477a953-4324-4122-9ca1-8df6d4a28af1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.191933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.090873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.053327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.056038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.061939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.052930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.058464s] ... 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.046604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.274274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.048833s] ... 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.053767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.092233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.267465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.255831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.133286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.124433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.180655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.189191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.178297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.148942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.171869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.313914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.143618s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.127880s] ... 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': '2023-10-12T03:26:48.622603+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 {'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-427ae9a4-189a-4f10-b25e-ff43aa883f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:48.976895+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': '2023-10-12T03:26:48.976895+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/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-53bc64ca-5aae-41a1-82c2-5c83f8ea7ee5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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/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/nodes/node-109/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-e59e3fc5-6b24-432e-b2c3-32274b9dac9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} DEBUG util.py:445: GOT:foo 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e71212e2-a693-4dc1-941a-e20f82283739 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-dadc22df-81dc-404a-9548-69c999195ebb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-56d908e8-99d4-436c-8c7d-8653f0130bd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-b414c152-9761-469f-848d-058a902c940f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.123801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.206266s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.237631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.177080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.702363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.162925s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.174046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.156993s] ... ok 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-3d793120-1f5a-45ed-bbdc-d171f49722e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-2fb95db0-3aaf-454f-8e84-353a5a80cb53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-807c2acd-2e86-45dd-8917-bb51c22de070 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-1fd473ed-9bcb-4cb2-a2be-98f3bacd857e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-6185ab2e-203e-4933-b736-06e170d0424e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-14fb237a-c51e-4322-92ae-95be0a111f42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-578d4442-fc37-4b39-8ba1-675aea4e4ba7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-dcee84f6-e837-4845-b9fa-4b904b8dab8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-a400c88d-12b2-4c3f-9434-556451fd88cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-b91d9681-9f23-4a92-8ba6-d5a0ae5b00b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-7e5078d4-0028-43c4-9ba5-26e876e62526 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-3e99e67c-cc75-42b5-9ea1-91be00147f28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-998cadb7-c5da-4de3-9b3e-a543139bfb77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-e64fa451-80bc-437a-ae22-ee556022c213 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96a3cd63-ed1b-4556-a122-e89af992cf02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-806c9873-c6eb-4313-906b-15f96f26ac0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-e60f5241-0836-4840-ae4e-9a3aff4151c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-1713689e-d5c3-41ce-bff5-2541051b5e72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.861022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.180615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.247512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.124005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.209267s] ... 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-5fe79d1e-a21e-4ac2-bf71-84eb01f603a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-9b21a568-d6f9-40e4-a806-2285689c5dd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-202b0e9b-dab4-44cf-bbe0-4c16b62a46b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-962e5aa9-e798-4891-aa8e-71d7f5c84b1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-3d50245c-9f76-4b70-bcd9-fb36793201a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-6a7a52bd-ec1d-4006-b749-f50a2cc730ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-374f637f-4133-450f-afd2-de79ae1af248 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-868197c4-7e98-437b-b9e7-8d96edf4feb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-e57cfd7d-f856-40e5-8869-9160d421dc58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-cf73c1da-a917-404c-9f4a-0ede8def1541 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 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-7da1dc98-cb46-4dbe-bfde-85a910c575c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-11485963-5488-4c0c-888b-41da2459df8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b9a7774-924f-492f-ad31-0accd657dc42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-16dc1877-d0a6-460a-bbdf-7251b08d8013 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-174101cf-2eaa-4f2c-b283-c132c56f676f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-5d6f8a6c-09d8-4e3b-93b1-c0b9a155c618 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-bb67c1c8-25b8-4fcd-89c5-982081492471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_rescue_in_disallowed_states [0.321138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.082113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.178546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.094570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.194012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.204084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.162510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.093897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.115523s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.069923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.131473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.167121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.116797s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.138428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.121680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.115473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.095048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.049383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.172924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.049257s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.172910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.064803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.154144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.069935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.123598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.041188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.049748s] ... 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-e04529a1-cda1-40b2-9cea-d25d4054f7c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-59b8bc9a-adc5-4288-ac03-7004abb8c1e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-5dc7a329-2f03-4585-9377-8b3047f2cc1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} 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-39a5cb11-292b-4219-a387-7c1e0ee9066c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '\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-1bdefbb0-6cec-41ae-a3ac-7ab22022303c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-155aac4f-4046-42be-a081-f8fc6fd5d098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-c23daa82-6e0f-4e87-86b0-757bbb4ab051 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-23d13308-27db-4db5-825f-725d344c9eec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-7a3ad15b-4abd-445a-8d10-8a716d4cfc54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-5569b93d-145f-421c-935f-ecaaabfb2835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=True {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-4ba283c9-3b8e-4129-8719-f79b3eecf140 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-6c73f1d2-7e55-4e34-9297-e9d00a630d11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/indicators/led@system {'state': 'on'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-8b645780-3fb2-46bb-aab5-e36b3b929190 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-ec6e72ab-367c-46a0-8f64-f95772cd88af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-b6af8f53-b631-45ef-96c9-23c99c866e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f47eed0e-5ff3-4125-a4c8-4430de7b0823 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/node-39/traits/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-27a9fe46-2fd5-4b61-92b5-5414d68ddac8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'maxLength' in schema[0]\", \"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-7b419af1-1567-4be5-b68a-e2e83fbd262a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.170284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.092909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.220818s] ... 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.528781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.117266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.150284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.054146s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.142244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.180994s] ... ok 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-311f21c3-5a1f-483f-a3ad-d25e7f435cc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-c509a554-b9bf-4f48-b3de-e7a092feee22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-356908bb-361e-45c2-bce0-4708e83330e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-1bee117a-d2bb-4cd6-9b26-e37c22e3c4ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-d82bb0f5-3dd4-43c8-8d45-dff55f6db09f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2209561-fbfa-4bbf-ab13-b192035f9433 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-7b265193-597b-4b93-9606-8c611ede8123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-4b5c8fbe-006a-4b6a-acc7-945b08b8dbd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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-cd95cee2-76f6-4cf0-a384-1546a602678e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {'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-845182e3-d3a7-45aa-b0a8-ea67710be9a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-9ee65693-c6f0-4c8a-8056-dbeea2552f93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-6e45f454-31a6-4fda-bd0b-50f639fff911 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-82e237b0-4e88-4461-b502-ac6e9aa3510e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/maintenance {} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-ebc1b01f-6c27-4aac-9961-8ca8d1cfac89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-f7682b00-eda7-47d5-a8ed-95cff6887004 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {'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-38cafcc8-fa5e-4ee9-b5c7-b02964e2bbc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_]+$' Failed validating 'pattern' in schema[0]\", \"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-87b4205b-ec00-4fe1-937c-54e9d3c4bea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.122865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.037234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.145533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.091461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.216941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.192374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.152072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.073507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.059235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.063742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.160439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.066426s] ... 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.171792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.114241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.048472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.089556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.205044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.147392s] ... 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.244689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.114127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.116667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.108070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.108598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.097163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.115635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.045081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.046617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.099811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.111686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.265277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.048670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.067192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.371272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.278922s] ... ok DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:26:53.007902+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-f2cc9ef7-401d-429c-a0d5-ecf876b59194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-4139f299-4269-45de-98a6-e3a01d885b2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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-882526f6-9500-432a-b048-f74be80cb7f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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=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-920ddff5-4d68-4996-be50-7de386eb9645 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '89ef818d-7aba-4553-9aa8-1169a9a3b060', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/89ef818d-7aba-4553-9aa8-1169a9a3b060', 'rel': 'self'}, {'href': 'http://localhost/ports/89ef818d-7aba-4553-9aa8-1169a9a3b060', 'rel': 'bookmark'}]}, {'uuid': '462a9b9a-e7f2-42c0-9a73-e6cacc722b5c', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/462a9b9a-e7f2-42c0-9a73-e6cacc722b5c', 'rel': 'self'}, {'href': 'http://localhost/ports/462a9b9a-e7f2-42c0-9a73-e6cacc722b5c', 'rel': 'bookmark'}]}, {'uuid': '2fc6fcf5-dbe3-48b6-9809-fd370adfed31', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/2fc6fcf5-dbe3-48b6-9809-fd370adfed31', 'rel': 'self'}, {'href': 'http://localhost/ports/2fc6fcf5-dbe3-48b6-9809-fd370adfed31', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=fooname {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:26:53.449389+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': '2023-10-12T03:26:53.548467+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/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-ecc36f7b-5595-409c-b1da-6215318e6cb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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?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-5c988016-92c3-461f-9e9f-bb8c5149e606 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '2023-10-12T03:26:53.871830+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': '2023-10-12T03:26:53.871830+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'} 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': '2023-10-12T03:26:53.948567+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': '2023-10-12T03:26:53.948567+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'}{2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.114784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.124127s] ... ok 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-7a4dc735-2153-482b-9526-3326528a6305 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-ea2f9dd6-4ee4-46dc-b3fc-f8c05d84c6ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-3af8c7cc-c5dd-44cc-8be3-43621e6fb200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-59385ed3-2ef2-4633-ad70-be495ff7ee47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-922e36aa-e7ab-4981-baa5-c5f66f0ce70c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/power {'target': 'not-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-aaafdb67-aed7-42d5-b7a1-994fd716ad13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-793ff784-7c16-4f26-aac2-25b374fd8ba9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-8388c749-d7c3-4019-ba13-68349eb0fbda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} 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-c9835ad9-0f32-4d9d-a2f6-235b1218e9f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-232f6e71-7392-4de8-85b2-5b97c74273b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-18c1410c-93c7-41fa-beee-9e9f8db621ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-78b7202b-167f-4414-b0a6-2b87fde532d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-154e17d9-13f9-44bc-9cc4-a13ab70f557a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-90635966-385d-4309-b7da-3e738759375a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'not-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-fb752978-a829-4a77-a2f8-e9c020cf5910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-6acba0e8-44f5-4cd6-bb28-1f75d4184a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-90da6051-a8a5-4dc5-ace7-7d9563545280 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3daccd96-fb57-4c29-80ed-4979566213b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-491f5cfb-38ab-411f-8212-10b61ac925b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.280955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.197034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.288287s] ... 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.175063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.264724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.141288s] ... 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.264646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.267078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.103263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.267462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.130236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.250329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.242046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.133573s] ... 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-4bcaed7a-6fc0-4113-aca7-8ff0aa3f8484 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-03d90826-2972-4264-8cfd-24e9f18df30d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1893b225-8a2d-44aa-9cd7-d43349b1088f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-b342a157-e5f1-413e-8f73-5ae49b289c31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-62244c8b-2fce-4e65-bbe9-afb6f62acd61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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', '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-468fbdab-b893-4a08-b5c0-523479bef3da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-469c7a27-dc51-4e98-bd85-7aa0ce026c94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-5d00b6fe-6599-470b-9a90-7072b0f4a279 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-26f91440-4dd8-45b8-846b-09b2e3bcafe1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-359f2d53-41bc-4c57-85fe-db9677400c90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-8bed2826-53f5-458a-9dee-b5bb8ea99849 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-4d77e12d-b3e3-44e5-9282-95b756b7d616 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ec6b3a6a-f892-4cf1-b91c-75ecde78673b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/node-39/maintenance {'reason': 'fake_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-35e9e267-e8d9-462a-81ff-bff9940e9774 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-6991350c-cef6-4371-931f-0da14f1ce92d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3900754c-719b-467c-9ae3-0fe98d7ad674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-c9b2abb9-1c49-49b6-9135-55f1cb49283c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} 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: 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-54515a6c-adb9-4e48-bc6c-06f5d7003986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.141131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.047885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.043361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.156683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.037894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.159535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.027113s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.091354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.064479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.064251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.215415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.153637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.053682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.152930s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.037296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.130567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.129731s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.084837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.141272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.125722s] ... ok 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-25ac2cfb-f98d-46d7-a367-c30c71513f32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f558b48f-1a3d-4b11-890d-c8db2a7c7e63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1208c9d-8911-454b-ac4d-04f274a6683e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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']} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-10830835-ae63-4444-a88d-2f990438c10e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-b28ba741-aa1e-4cb9-853a-7139368cf102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-3e984bc9-def4-4752-bae4-2e1dc63ee77e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/ports?fields=address,uuid {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '9733f735-ff2f-498e-bfbf-6e511b9b2ace', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/9733f735-ff2f-498e-bfbf-6e511b9b2ace', 'rel': 'self'}, {'href': 'http://localhost/ports/9733f735-ff2f-498e-bfbf-6e511b9b2ace', 'rel': 'bookmark'}]}, {'uuid': 'a46f750f-b920-433a-8bb0-267b789631bb', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/a46f750f-b920-433a-8bb0-267b789631bb', 'rel': 'self'}, {'href': 'http://localhost/ports/a46f750f-b920-433a-8bb0-267b789631bb', 'rel': 'bookmark'}]}, {'uuid': '70e7d47e-9244-42bf-85ca-4e3f13c4fc48', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/70e7d47e-9244-42bf-85ca-4e3f13c4fc48', 'rel': 'self'}, {'href': 'http://localhost/ports/70e7d47e-9244-42bf-85ca-4e3f13c4fc48', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=70e7d47e-9244-42bf-85ca-4e3f13c4fc48'} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '8e32c25a-3a15-4879-a1d4-daad5adeb0ab', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/8e32c25a-3a15-4879-a1d4-daad5adeb0ab', 'rel': 'self'}, {'href': 'http://localhost/ports/8e32c25a-3a15-4879-a1d4-daad5adeb0ab', 'rel': 'bookmark'}]}, {'uuid': 'df765232-cd4e-45ae-af7a-760573c6ca7b', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/df765232-cd4e-45ae-af7a-760573c6ca7b', 'rel': 'self'}, {'href': 'http://localhost/ports/df765232-cd4e-45ae-af7a-760573c6ca7b', 'rel': 'bookmark'}]}, {'uuid': '82e8413d-8c35-4b8d-a8ca-b919e4c17bc3', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/82e8413d-8c35-4b8d-a8ca-b919e4c17bc3', 'rel': 'self'}, {'href': 'http://localhost/ports/82e8413d-8c35-4b8d-a8ca-b919e4c17bc3', 'rel': 'bookmark'}]}]} 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': '2023-10-12T03:26:54.199931+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=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': []} 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/bbc0a994-c5da-4a8b-8081-a742e73e645c', 'rel': 'self'}, {'href': 'http://localhost/ports/bbc0a994-c5da-4a8b-8081-a742e73e645c', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/6f7bcdb0-692f-4d46-9885-5bcdca1ad255', 'rel': 'self'}, {'href': 'http://localhost/ports/6f7bcdb0-692f-4d46-9885-5bcdca1ad255', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=6f7bcdb0-692f-4d46-9885-5bcdca1ad255'} 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-a64cb58f-0ebd-4ce2-828f-b3738d58073f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a457624e-c25d-4d9a-8296-eec42640460b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-b8fd2bc3-55c5-45e1-a9ee-9bbb9013a0b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:55.053745+00:00", "updated_at": "2023-10-12T03:26:55.155400+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-4f1aa544-e548-4f51-a9a1-ae3ce492d21a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-2cf8eaa7-a181-430a-a9f5-f5b6cbeb04f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:55.226263+00:00", "updated_at": "2023-10-12T03:26:55.246154+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}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.053367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.037228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.041946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.036016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.129479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.174477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.104798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.175049s] ... 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.127947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.083855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.180004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.044044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.173303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.120376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.155611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.096711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.176887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.137286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.611973s] ... 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': '2023-10-12T03:26:54.057183+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': '2023-10-12T03:26:54.057183+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:26:54.238990+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': '2023-10-12T03:26:54.417155+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': '2023-10-12T03:26:54.417155+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 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00123d0a-6c61-4579-ab36-53ee582fa8b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:{'ports': []} 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-925a356a-9db5-49c5-b796-8708b487350a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '777af64a-704d-4c37-9cd8-e9b5bbcafee4', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/777af64a-704d-4c37-9cd8-e9b5bbcafee4', 'rel': 'self'}, {'href': 'http://localhost/ports/777af64a-704d-4c37-9cd8-e9b5bbcafee4', 'rel': 'bookmark'}]}]} 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: 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-d40fe4f2-43b5-4695-a07f-72f32cf41845 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-6321c201-bdc5-4665-a90c-79dbed8d411f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 'ada6515e-b05a-4974-904e-46c239377a44', '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-94b9b1f4-960d-436e-8bc7-5d8f4b62aed0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:55.505076+00:00", "updated_at": "2023-10-12T03:26:55.598556+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": "ada6515e-b05a-4974-904e-46c239377a44"} 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-7b214f6f-73d4-47a8-b84d-eeb9960b82b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-3460ebdf-1c85-4cd6-afcc-c691247925d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-b01a5e1b-5e54-41f2-9b7d-41f700c74b0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:55.835833+00:00", "updated_at": "2023-10-12T03:26:55.872752+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}{2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.117879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.107690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.038958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.218457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.086884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.104696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.080512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.124344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.095811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.239824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.083840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.300350s] ... 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.114527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.121046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.203070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.258882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.263793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.242378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.149193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.216872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.140092s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.265630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.170750s] ... 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.148554s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.154875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.136218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.023769s] ... 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.223412s] ... ok 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-7bb0df04-7477-4213-bd4e-adf512aa6c91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': []} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1734a047-506e-4f48-af94-1fc825728bef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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: 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-1618c32c-bf0b-4512-a089-4bc501cb023c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?detail=True {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:26:55.582125+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?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'a00ead10-0f25-4fe5-873e-23d537419248', 'created_at': '2023-10-12T03:26:55.736420+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/a00ead10-0f25-4fe5-873e-23d537419248', 'rel': 'self'}, {'href': 'http://localhost/ports/a00ead10-0f25-4fe5-873e-23d537419248', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': '770a6f59-e505-4cd9-9d01-a1b645b541c6', 'created_at': '2023-10-12T03:26:55.737936+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/770a6f59-e505-4cd9-9d01-a1b645b541c6', 'rel': 'self'}, {'href': 'http://localhost/ports/770a6f59-e505-4cd9-9d01-a1b645b541c6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} 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:{'ports': []} 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-2aedcfaf-3587-4de5-9e81-7fc30b11caf1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:26:56.234352+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-1298ec91-6ac1-4dba-b85c-ba1a8ae743e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?fields=uuid,extra {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '563b1044-6cef-4246-b22a-35957f8b9373', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/563b1044-6cef-4246-b22a-35957f8b9373', 'rel': 'self'}, {'href': 'http://localhost/ports/563b1044-6cef-4246-b22a-35957f8b9373', 'rel': 'bookmark'}]}, {'uuid': '1ab46297-0608-4965-b9cc-e95d4eade3ec', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1ab46297-0608-4965-b9cc-e95d4eade3ec', 'rel': 'self'}, {'href': 'http://localhost/ports/1ab46297-0608-4965-b9cc-e95d4eade3ec', 'rel': 'bookmark'}]}, {'uuid': '0581635d-ecb4-4257-aeb6-e61c9886a511', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/0581635d-ecb4-4257-aeb6-e61c9886a511', 'rel': 'self'}, {'href': 'http://localhost/ports/0581635d-ecb4-4257-aeb6-e61c9886a511', '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': '2023-10-12T03:26:56.802376+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': '2023-10-12T03:26:56.802376+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/3b18f8cc-ac5a-405e-845b-cf66b17aa19c {} DEBUG util.py:445: GOT:{'uuid': '3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'created_at': '2023-10-12T03:26:56.979301+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'rel': 'self'}, {'href': 'http://localhost/ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.279372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.060654s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.032570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.112678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.161496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.148797s] ... ok 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-bbcd7f87-3c63-46b5-8f03-343e619fb83c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-381108a2-ba77-48eb-a40f-f6bbed882056 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long Failed validating 'maxLength' in schema['properties']['physical_network']\", \"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-ee357887-c906-41a8-a4ff-d1a81f11773f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-40ab2cab-2a53-4303-9092-8314c3835024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:55.396868+00:00", "updated_at": "2023-10-12T03:26:55.427589+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-092828ab-8f20-4526-bec6-ac0ff442f392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:55.396868+00:00", "updated_at": "2023-10-12T03:26:55.466694+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': '/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-cc623b20-197b-4161-a534-0abc66e7c7c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:55.955231+00:00", "updated_at": "2023-10-12T03:26:56.079905+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': '/portgroup_uuid', 'value': '2b8065da-fd8a-4da8-b11c-5b947d158b91', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '47c6e033-d116-47f3-88b3-d82c30e28c97', '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-3dced22f-f9ae-4024-8c3c-bea17e5f888b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:56.191622+00:00", "updated_at": "2023-10-12T03:26:56.329440+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": "47c6e033-d116-47f3-88b3-d82c30e28c97"} 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-85d69a0b-907e-4a78-b694-7466ce991afd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:56.485614+00:00", "updated_at": "2023-10-12T03:26:56.640519+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: 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-8a319245-e484-4e58-8489-a2d1e86e193a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:57.184496+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"} 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': '2023-10-12T03:26:57.184496+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'}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.392995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.272030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.206025s] ... 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-18c85c1d-2a7e-419a-89b7-bf2a13846c7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-58c666eb-e127-4f1f-8e2f-31baf65d73f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-86c58c4d-0a69-4643-b32b-bdbb287ae458 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-c7eb2751-e0a8-40e2-97d1-d0ff875fe77e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"} 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-b0150355-0b4b-491b-8451-10fd4688b0ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-97efb36c-b07e-460e-9435-192107fa8aec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc2c8a18-d738-41be-a86e-378a0be0cb65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:56.558254+00:00", "updated_at": "2023-10-12T03:26:56.675084+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': '/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-3c306102-e4d5-4141-a168-bf0a75587e78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-b86a70cb-4af5-45f4-afd9-5f3f24e39778 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f5136899-a02a-4900-97c2-dcefdc154ad5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:57.080578+00:00", "updated_at": "2023-10-12T03:26:57.125748+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: 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-6a555b1b-b553-4639-a96b-dffa6f76c00c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"} 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 {'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'}{2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.066257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.083363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.279467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.155811s] ... ok 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-cb6592f1-b779-4c7c-bcba-a6579e25109a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-854ed274-0d25-4363-812c-31cc742a6b9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-941069b0-96dd-4a07-aaca-855b912d3971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-8c0afb0d-5f03-4fe9-a8c6-950ba1d6a7dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-73610f6c-2855-4058-96d3-dfb39bf29884 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-77e52d40-ffe3-4e9f-81d8-337657cc09b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-c1546f0b-ce67-4aa2-b0d5-12f3046e3563 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-15d1af19-7737-453d-af3e-6eac59da2374 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35f0593e-9c59-4aeb-958b-0fc171c6f449 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-615b18f3-859f-46d5-9f93-75612e04d831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-c2d72eac-f0d7-4a13-a3bc-c0a945c434fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c3583c44-09a8-4c09-af5c-13439cbf0d30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-f57a4881-f495-4cfa-9f2b-2696a4d8a643 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2873c66-d1b5-40cf-87d5-a819b6f5fc88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-6b47c9ef-38f8-4203-82f0-553856380994 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-083759f7-7893-4175-9cd8-b9f27f149b04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/96041935-659c-4ad8-9ad9-26481bd328f6 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0690a67-529c-456b-8892-33aadc4a5a4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/?limit=3 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '014d459c-a162-4501-a679-79c0493cc376', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/014d459c-a162-4501-a679-79c0493cc376', 'rel': 'self'}, {'href': 'http://localhost/ports/014d459c-a162-4501-a679-79c0493cc376', 'rel': 'bookmark'}]}, {'uuid': 'ed797f12-0046-46cf-a779-a4d6e08be1a1', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/ed797f12-0046-46cf-a779-a4d6e08be1a1', 'rel': 'self'}, {'href': 'http://localhost/ports/ed797f12-0046-46cf-a779-a4d6e08be1a1', 'rel': 'bookmark'}]}, {'uuid': '58496b73-ce48-4917-8d1f-eedc884156e7', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/58496b73-ce48-4917-8d1f-eedc884156e7', 'rel': 'self'}, {'href': 'http://localhost/ports/58496b73-ce48-4917-8d1f-eedc884156e7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=58496b73-ce48-4917-8d1f-eedc884156e7'}{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.137461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.115495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.288182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.076341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.379085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.162642s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.118807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.151612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.117518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.139776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.119541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.052496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.095550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.115053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.070126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.083345s] ... 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.179887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.139601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.154944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.099695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.125454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.340661s] ... 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-01504937-6812-463e-8cb7-b70a69cba7c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': 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-bac4dbb8-28b9-4a5e-bf9b-4a2bc18c5e7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['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': '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-5cec6501-0b9e-41aa-811c-05d5743f9dc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:57.918966+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': '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-963860fe-8132-4990-922d-c98beb34b72f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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', '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': 'd9083fe0-4ef4-483a-8504-e7fb31dcb07f', '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-e1961d23-edad-45c4-b61f-6c4bcbe9011d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node d9083fe0-4ef4-483a-8504-e7fb31dcb07f 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': {'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-250b9954-a950-44cb-809b-1d26c77216be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:58.266588+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"} 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': '2023-10-12T03:26:58.266588+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': {'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-82adab46-2a47-49e2-bdda-96bad1035abe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:58.433965+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_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'}{2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.092768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.114894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.263528s] ... ok 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-ab320a84-b4fe-4386-b9df-dd6b0cd37614 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:57.550539+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': '2023-10-12T03:26:57.550539+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-41d5564f-3363-4a08-afe3-03c5860b0d88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} 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/91bfc701-4416-401f-b786-2865218ca15a DEBUG util.py:445: Openstack-Request-Id: req-2ded99c3-2b9f-48e0-ac1d-9b75dc3b5121 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "91bfc701-4416-401f-b786-2865218ca15a", "created_at": "2023-10-12T03:26:57.926458+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/91bfc701-4416-401f-b786-2865218ca15a", "rel": "self"}, {"href": "http://localhost/ports/91bfc701-4416-401f-b786-2865218ca15a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET: /v1/ports/91bfc701-4416-401f-b786-2865218ca15a {} DEBUG util.py:445: GOT:{'uuid': '91bfc701-4416-401f-b786-2865218ca15a', 'created_at': '2023-10-12T03:26:57.926458+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/91bfc701-4416-401f-b786-2865218ca15a', 'rel': 'self'}, {'href': 'http://localhost/ports/91bfc701-4416-401f-b786-2865218ca15a', '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': '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-0f6348e3-0d38-4555-a732-d0e6b27c2672 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:58.070981+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', '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-68edfe4c-8dfc-4b1d-90c6-7f2607528108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'required' in schema\", \"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-3e37410f-1b30-43b6-b6d5-93327e9643c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: Additional properties are not allowed ('switch_foo' was unexpected) Failed validating 'additionalProperties' in schema[0]\", \"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'}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.250279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.077097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.053390s] ... 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.041830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.215857s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.219011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.054274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.297425s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.105259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.132989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.218121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.161923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.286956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.236532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.213234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.229096s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.426126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.139152s] ... ok DEBUG util.py:445: GET: /v1/ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c {} DEBUG util.py:445: GOT:{'uuid': '3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'created_at': '2023-10-12T03:26:56.979301+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'rel': 'self'}, {'href': 'http://localhost/ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c {} DEBUG util.py:445: GOT:{'uuid': '3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'created_at': '2023-10-12T03:26:56.979301+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'rel': 'self'}, {'href': 'http://localhost/ports/3b18f8cc-ac5a-405e-845b-cf66b17aa19c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} DEBUG util.py:445: GOT:{'ports': []} 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=uuid {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '5ef3ed22-4051-45ad-ba39-951eefaa16e5', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/5ef3ed22-4051-45ad-ba39-951eefaa16e5', 'rel': 'self'}, {'href': 'http://localhost/ports/5ef3ed22-4051-45ad-ba39-951eefaa16e5', 'rel': 'bookmark'}]}, {'uuid': '79d281df-3728-40db-b7a4-cadd65af15cb', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/79d281df-3728-40db-b7a4-cadd65af15cb', 'rel': 'self'}, {'href': 'http://localhost/ports/79d281df-3728-40db-b7a4-cadd65af15cb', 'rel': 'bookmark'}]}, {'uuid': 'ec04dab2-b301-45d4-ae79-93dbc5f7b858', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ec04dab2-b301-45d4-ae79-93dbc5f7b858', 'rel': 'self'}, {'href': 'http://localhost/ports/ec04dab2-b301-45d4-ae79-93dbc5f7b858', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '4dc61535-5f37-4ebb-90ce-e9388f8a62c4', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/4dc61535-5f37-4ebb-90ce-e9388f8a62c4', 'rel': 'self'}, {'href': 'http://localhost/ports/4dc61535-5f37-4ebb-90ce-e9388f8a62c4', 'rel': 'bookmark'}]}, {'uuid': '39879542-7dd7-4e0d-a653-fc07472938e5', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/39879542-7dd7-4e0d-a653-fc07472938e5', 'rel': 'self'}, {'href': 'http://localhost/ports/39879542-7dd7-4e0d-a653-fc07472938e5', '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-d177afbb-bcb2-4370-994e-8bbfae22c29d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-236b7eac-ab32-460a-aa75-f31bbae41e07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-d82aa96b-5c32-49af-8ff2-49c01b839a3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:58.352382+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': '/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-38c93ec2-68dd-4e7e-8410-c92713dda3a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['physical_network']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/6f4e6da2-2157-4472-be5e-64faf49cdcb3 [{'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-9d83d68c-7adb-4b7d-bb89-ff660a580257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "6f4e6da2-2157-4472-be5e-64faf49cdcb3", "created_at": "2023-10-12T03:26:58.774318+00:00", "updated_at": "2023-10-12T03:26:58.798717+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/6f4e6da2-2157-4472-be5e-64faf49cdcb3", "rel": "self"}, {"href": "http://localhost/ports/6f4e6da2-2157-4472-be5e-64faf49cdcb3", "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/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-82111a70-d0e1-404b-930d-99a161f8bf5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-3077cd93-a283-46c1-9d07-91097e89edb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:59.102289+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': 'f07be264-812f-474a-9000-bc1eb631bac0', '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-4146a0a9-b0a1-448f-bb99-f8924fd9e159 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:59.316891+00:00", "updated_at": "2023-10-12T03:26:59.481757+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": "f07be264-812f-474a-9000-bc1eb631bac0"}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.258514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.193839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.170200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.173706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.261078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.246513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.209644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.265321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.132159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.298115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.413324s] ... ok DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '04c8f555-5bbf-42ee-978e-37a1ab7400ec', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/04c8f555-5bbf-42ee-978e-37a1ab7400ec', 'rel': 'self'}, {'href': 'http://localhost/ports/04c8f555-5bbf-42ee-978e-37a1ab7400ec', 'rel': 'bookmark'}]}, {'uuid': '16616653-b74d-4d40-bd98-55c00fc23292', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/16616653-b74d-4d40-bd98-55c00fc23292', 'rel': 'self'}, {'href': 'http://localhost/ports/16616653-b74d-4d40-bd98-55c00fc23292', 'rel': 'bookmark'}]}, {'uuid': 'c7893c46-19de-4056-807e-150267e86e75', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/c7893c46-19de-4056-807e-150267e86e75', 'rel': 'self'}, {'href': 'http://localhost/ports/c7893c46-19de-4056-807e-150267e86e75', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=c7893c46-19de-4056-807e-150267e86e75'} 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': '2023-10-12T03:26:57.897209+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-2358fb28-4852-438d-8a40-e8db2ce70ece DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cefaee43-5b9a-4b2a-89df-53ea90ce3c5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-17c23df0-a137-450e-adf3-9d92c2ab2b59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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?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-78943099-9246-4275-9c82-3f8ae52d90a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:26:58.728422+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': '2023-10-12T03:26:58.989148+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/b307fef8-0dd7-4cf5-a266-a4bcaea28931 {} DEBUG util.py:445: GOT:{'uuid': 'b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'created_at': '2023-10-12T03:26:59.245694+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'rel': 'self'}, {'href': 'http://foo/ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931 {} DEBUG util.py:445: GOT:{'uuid': 'b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'created_at': '2023-10-12T03:26:59.245694+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'rel': 'self'}, {'href': 'http://foo/ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931 {} DEBUG util.py:445: GOT:{'uuid': 'b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'created_at': '2023-10-12T03:26:59.245694+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'rel': 'self'}, {'href': 'http://foo/ports/b307fef8-0dd7-4cf5-a266-a4bcaea28931', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1e7cb7f9-51f8-4817-b8bb-c32f169f2d6c', 'created_at': '2023-10-12T03:26:59.598186+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1e7cb7f9-51f8-4817-b8bb-c32f169f2d6c', 'rel': 'self'}, {'href': 'http://localhost/ports/1e7cb7f9-51f8-4817-b8bb-c32f169f2d6c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:26:59.780939+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 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'd68c1bf8-cac3-441e-bbfc-034b6c602453', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/d68c1bf8-cac3-441e-bbfc-034b6c602453', 'rel': 'self'}, {'href': 'http://localhost/ports/d68c1bf8-cac3-441e-bbfc-034b6c602453', 'rel': 'bookmark'}]}, {'uuid': 'bb191cef-9104-4d47-b805-449a0b09c6a4', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/bb191cef-9104-4d47-b805-449a0b09c6a4', 'rel': 'self'}, {'href': 'http://localhost/ports/bb191cef-9104-4d47-b805-449a0b09c6a4', 'rel': 'bookmark'}]}, {'uuid': 'ee15eff5-9738-43d2-8b24-29bb3997ab68', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/ee15eff5-9738-43d2-8b24-29bb3997ab68', 'rel': 'self'}, {'href': 'http://localhost/ports/ee15eff5-9738-43d2-8b24-29bb3997ab68', 'rel': 'bookmark'}]}, {'uuid': 'df24be6f-0fd2-4760-9f80-93f7d45a9198', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/df24be6f-0fd2-4760-9f80-93f7d45a9198', 'rel': 'self'}, {'href': 'http://localhost/ports/df24be6f-0fd2-4760-9f80-93f7d45a9198', 'rel': 'bookmark'}]}, {'uuid': '909cfcfd-fd9f-4aba-ab73-0fa13d7956b7', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/909cfcfd-fd9f-4aba-ab73-0fa13d7956b7', 'rel': 'self'}, {'href': 'http://localhost/ports/909cfcfd-fd9f-4aba-ab73-0fa13d7956b7', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.265290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.135597s] ... 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-b367e49b-3761-469e-9e3d-57d5c39de29e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\", \"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_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-fef32be3-2fc3-4202-906e-e7220a6b237f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property Failed validating 'required' in schema[0]\", \"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-47703323-1afd-441c-b4ce-ae068e89007b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {'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-b0d6f083-8e1c-471e-887d-660c26af6a4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-71ae5f60-48da-4347-a8b0-1d1ac9d8f6a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/pg.1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9a850c54-c74d-4bf8-87bd-1dee7eb1d018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: GET: /v1/portgroups?node=test-node {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '9276beec-25aa-4da4-be29-7a5d0aee1811', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/9276beec-25aa-4da4-be29-7a5d0aee1811', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9276beec-25aa-4da4-be29-7a5d0aee1811', 'rel': 'bookmark'}]}, {'uuid': '220f7929-149a-4138-ba8c-7c9deb9df25e', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/220f7929-149a-4138-ba8c-7c9deb9df25e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/220f7929-149a-4138-ba8c-7c9deb9df25e', 'rel': 'bookmark'}]}, {'uuid': 'e5c2d201-1bcb-4df3-83b2-5db576cd5d25', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/e5c2d201-1bcb-4df3-83b2-5db576cd5d25', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e5c2d201-1bcb-4df3-83b2-5db576cd5d25', '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': '2023-10-12T03:26:59.135556+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?fields=address&limit=2 {} DEBUG util.py:445: GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/d775229a-5256-41bc-8526-f9050670da37', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d775229a-5256-41bc-8526-f9050670da37', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/84929922-1334-45bb-88c8-91d3f48299c6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/84929922-1334-45bb-88c8-91d3f48299c6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=84929922-1334-45bb-88c8-91d3f48299c6'} 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': '2023-10-12T03:26:59.559455+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': '2023-10-12T03:26:59.778513+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/636fb754-a3e7-4e3d-97db-eb4d798ee081 {} DEBUG util.py:445: GOT:{'uuid': '636fb754-a3e7-4e3d-97db-eb4d798ee081', 'created_at': '2023-10-12T03:26:59.992281+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/636fb754-a3e7-4e3d-97db-eb4d798ee081', 'rel': 'self'}, {'href': 'http://localhost/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081/ports', 'rel': 'bookmark'}]}{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.554489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.217384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.052191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.201105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.172151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.048608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.066752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.041837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.200377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.062359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.075911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.259047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.074531s] ... 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.071754s] ... ok DEBUG util.py:445: GET: /v1/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081 {} DEBUG util.py:445: GOT:{'uuid': '636fb754-a3e7-4e3d-97db-eb4d798ee081', 'created_at': '2023-10-12T03:26:59.992281+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/636fb754-a3e7-4e3d-97db-eb4d798ee081', 'rel': 'self'}, {'href': 'http://localhost/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081 {} DEBUG util.py:445: GOT:{'uuid': '636fb754-a3e7-4e3d-97db-eb4d798ee081', 'created_at': '2023-10-12T03:26:59.992281+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/636fb754-a3e7-4e3d-97db-eb4d798ee081', 'rel': 'self'}, {'href': 'http://localhost/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/636fb754-a3e7-4e3d-97db-eb4d798ee081/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-05f6e201-4c12-4338-a5a2-36e92215aa09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db3f2b16-7676-4689-9880-7d0cd0dfa9c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/acb5c0c5-7074-4c6b-a888-8367abaa9311/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/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-6a366e83-57b8-4ecf-9de7-f95129b0a002 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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=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-cb2bb09c-ed53-4aa6-a151-f585f66669eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2187b0a6-1f43-4458-b570-0b6d177837e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0547bff1-9255-400d-8611-be3c299372c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1c529567-0cb3-4f06-a19d-a35ce097f1ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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', '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-6fa4914d-8876-40be-aef1-5462280f8ec9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:00.737324+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': '/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-9725ba9b-acdd-4064-b80a-035a3a58fa55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:00.797628+00:00", "updated_at": "2023-10-12T03:27:00.800982+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-503eb65f-470a-4974-9b47-c0147da605d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:00.797628+00:00", "updated_at": "2023-10-12T03:27:00.800982+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"}]}{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.092459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.083112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.209739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.302941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.111907s] ... 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-f54f3366-3cb6-413f-8156-b0ba394b542e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:58.522353+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: 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-a2f1c445-9fe3-4057-a263-054c17fcd63e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:58.857764+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': '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-d91500ca-57e6-4360-8fd7-f5df7cb6739c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:26:59.110530+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': '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-42d5dc5c-3b3c-43da-8abe-39687941c6c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {}, '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-6d4bdc75-9de0-4f12-9b3c-b425a16d9310 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4260a1e0-c3ba-42c7-81cf-867a10712686 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-90516390-01f5-45f1-9b0c-4239ebbc53d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f69ca769-3783-449c-9f10-867f339a9aee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '17b7ce3b-2d62-491a-837a-022e2fdea39b', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/17b7ce3b-2d62-491a-837a-022e2fdea39b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/17b7ce3b-2d62-491a-837a-022e2fdea39b', 'rel': 'bookmark'}]}, {'uuid': '6c9fec9a-25a7-4a8c-ad77-aaf23de44938', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/6c9fec9a-25a7-4a8c-ad77-aaf23de44938', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6c9fec9a-25a7-4a8c-ad77-aaf23de44938', 'rel': 'bookmark'}]}, {'uuid': '991de58b-729a-41a6-8006-eaf00ad58b43', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/991de58b-729a-41a6-8006-eaf00ad58b43', 'rel': 'self'}, {'href': 'http://localhost/portgroups/991de58b-729a-41a6-8006-eaf00ad58b43', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=991de58b-729a-41a6-8006-eaf00ad58b43'}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.521457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.189406s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.170342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.212785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.258665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.167993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.138533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.153892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.148262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.103124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.176327s] ... 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.142754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.150061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.140047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.099594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.286293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.233138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.238138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.210408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.187305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.206341s] ... ok 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-a7425e2e-c3f4-402f-be90-27241fb88d23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-e713832c-34f8-4e34-9b44-0dc8a649b978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:00.995494+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': '/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-cba923ba-6af4-4607-a9d3-6a134e916a86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:01.172477+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/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-dcbe6b7b-adb2-47e8-939e-6ad6c7f3bd19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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': '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-a0ecc6b7-0002-454a-9674-481a886ded92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: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-a234e6ef-fe3c-4f61-9472-7aa8c1041f98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:01.958511+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': '2023-10-12T03:27:01.958511+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-45e4d4e6-666a-4edb-8855-bf4edb1dd4cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:02.054675+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"}]}{2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.078082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.057064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.179837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.393318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.189957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.165052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.183464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.091137s] ... ok DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '4f10a4ad-b3b2-418c-82d7-28f34808c409', '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-94755dbd-0375-43c5-8e06-1e5f84ce6ebe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'd07c91ee-6624-4ef5-b34d-ce777a644b66', '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-816d1b9d-b974-4490-900f-7b8332b2c61d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:26:59.801111+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': '/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-81ada482-d139-46e7-99d3-f7450c92032d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:00.048215+00:00", "updated_at": "2023-10-12T03:27:00.217532+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/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-d5a8e82c-7e43-4833-ae1f-84a4fc502978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-0380df7e-b366-4816-b981-ba343cc7dbd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:00.541762+00:00", "updated_at": "2023-10-12T03:27:00.615566+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"} 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-cefd4a18-2d24-4675-86ab-28ed3e00f3e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-8d1bb199-7625-44df-ae59-cb7dcbf510b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-fbadb613-6572-4e1e-af31-dfe02fd2932d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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', '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-2f829462-a03a-4fab-8de1-258d994b27d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:01.513830+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', '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-6d3705a8-bf31-4647-965e-c9fff117437c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property Failed validating 'required' in schema\", \"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-823a3815-d49b-40d5-8c5d-37db703c1376 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.880939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.239334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.102810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.172959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.184985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.068333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.206053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.092302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.201735s] ... ok DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '60df0226-2a64-4262-9e54-9e02c629d9d1', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/60df0226-2a64-4262-9e54-9e02c629d9d1', 'rel': 'self'}, {'href': 'http://localhost/ports/60df0226-2a64-4262-9e54-9e02c629d9d1', 'rel': 'bookmark'}]}, {'uuid': 'd5f1e1c5-a26a-48ed-8465-e68eba012114', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d5f1e1c5-a26a-48ed-8465-e68eba012114', 'rel': 'self'}, {'href': 'http://localhost/ports/d5f1e1c5-a26a-48ed-8465-e68eba012114', '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': 'efeb42cb-1f54-4c78-8016-51ed845303e4', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/efeb42cb-1f54-4c78-8016-51ed845303e4', 'rel': 'self'}, {'href': 'http://localhost/ports/efeb42cb-1f54-4c78-8016-51ed845303e4', 'rel': 'bookmark'}]}]} 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?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-85b4c116-64f3-4379-88c8-3b0d8961894f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-95ad0eee-d9ed-40df-8a08-bc1f548abef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-47dd0a47-d9fb-4d5b-9981-4f66188a580f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e153420f-e0d2-40bd-bf0a-856f212a68c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-a6856508-a63f-4ec9-8ef5-a7f2e7d856ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:01.353632+00:00", "updated_at": "2023-10-12T03:27:01.436193+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': '/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-0bccb913-126a-4ffa-98a8-26b97eeed0ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:01.611475+00:00", "updated_at": "2023-10-12T03:27:01.689458+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': '/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-b01be693-6a20-475a-86bc-8d13f857a221 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/4cadc97a-b393-407d-b2e2-07bdd939af37 [{'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-5235ecdf-c3ec-4e3f-bb54-7d73dc65be9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-b5387f1b-fbac-4271-a2db-6ad5888eb949 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 Failed validating 'required' in schema\", \"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-78f55351-bf72-49e1-aa70-9af68009906d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:02.384007+00:00", "updated_at": "2023-10-12T03:27:02.472105+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: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5ea7749-4373-4c4e-953f-946284af11b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-efdeae0a-197e-4b3e-be70-059391879014 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.219455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.216267s] ... 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': '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-317744ca-f521-4db0-962b-081c2405dff5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-e6f0bff2-7757-447a-b5ec-310b8ebf159e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:02.283596+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"}]} 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-d02f9fe3-be94-4177-ae2e-f0650011660a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-9ec6bb44-29e3-4c63-a5d0-fcdac2afa61e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-27227955-864d-44f0-b3c0-53cb355d53f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ed09947c-8ae3-442f-b1d7-c7dd2a8a9ec8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=b8b33b4e-47fc-4e4c-8b3e-308fd7c26248 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', '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/b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', 'rel': 'self'}, {'href': 'http://localhost/nodes/b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', '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=b8b33b4e-47fc-4e4c-8b3e-308fd7c26248 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', '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/b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', 'rel': 'self'}, {'href': 'http://localhost/nodes/b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', '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=b8b33b4e-47fc-4e4c-8b3e-308fd7c26248 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', '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/b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', 'rel': 'self'}, {'href': 'http://localhost/nodes/b8b33b4e-47fc-4e4c-8b3e-308fd7c26248', '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=f52ca571-02ba-4932-8401-24d00245c37e {} DEBUG util.py:445: GOT:{'node': {'uuid': 'f52ca571-02ba-4932-8401-24d00245c37e', '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/f52ca571-02ba-4932-8401-24d00245c37e', 'rel': 'self'}, {'href': 'http://localhost/nodes/f52ca571-02ba-4932-8401-24d00245c37e', '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}}{2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.059470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.136636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.099350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.305679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.061582s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.080712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.173639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.082687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.196146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.056656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.203465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.206039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.156657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.068319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.126858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.117779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.145722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.175482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.254943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.218511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.063418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.141961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.044088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.026493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.019006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.098076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.213378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.079672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.164335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.112747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.150873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.144407s] ... 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': 'c3df42e0-3943-4020-8f8c-a69f978eea42', '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/c3df42e0-3943-4020-8f8c-a69f978eea42', 'rel': 'self'}, {'href': 'http://localhost/nodes/c3df42e0-3943-4020-8f8c-a69f978eea42', '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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e05fa5b5-b42d-431d-919c-06d7dde19c8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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=0704439e-b704-4f5c-b210-a928548e1456 {} DEBUG util.py:445: GOT:{'node': {'uuid': '0704439e-b704-4f5c-b210-a928548e1456', '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/0704439e-b704-4f5c-b210-a928548e1456', 'rel': 'self'}, {'href': 'http://localhost/nodes/0704439e-b704-4f5c-b210-a928548e1456', '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=0704439e-b704-4f5c-b210-a928548e1456 {} DEBUG util.py:445: GOT:{'node': {'uuid': '0704439e-b704-4f5c-b210-a928548e1456', '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/0704439e-b704-4f5c-b210-a928548e1456', 'rel': 'self'}, {'href': 'http://localhost/nodes/0704439e-b704-4f5c-b210-a928548e1456', '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=0704439e-b704-4f5c-b210-a928548e1456 {} DEBUG util.py:445: GOT:{'node': {'uuid': '0704439e-b704-4f5c-b210-a928548e1456', '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/0704439e-b704-4f5c-b210-a928548e1456', 'rel': 'self'}, {'href': 'http://localhost/nodes/0704439e-b704-4f5c-b210-a928548e1456', '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?node_uuid=d7e94555-3ac2-4979-b699-760d63639ff7 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'd7e94555-3ac2-4979-b699-760d63639ff7', '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/d7e94555-3ac2-4979-b699-760d63639ff7', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7e94555-3ac2-4979-b699-760d63639ff7', '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=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': '7cf3aba2-3f74-4db0-a7a0-e9cb0168abaa', '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/7cf3aba2-3f74-4db0-a7a0-e9cb0168abaa', 'rel': 'self'}, {'href': 'http://localhost/nodes/7cf3aba2-3f74-4db0-a7a0-e9cb0168abaa', '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=6af88e47-726d-4b98-a1b3-8174ef079f65 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00af5b45-ca63-4855-8118-5330c8815af6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72'}, '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'}]}{2} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.135969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.129345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.177675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.170864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.090697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.130714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.206583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.077837s] ... 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': 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-ce9aad91-3a28-4751-b3d7-30daf965d4cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-10532a70-6ba4-46c0-b388-fa1e66139b75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-7527e974-f320-4ec9-be3d-17df2b3eb311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:03.213172+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: DELETE: /v1/portgroups/pg.1.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-378939c1-5943-474d-84dd-8ba7c300d96f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '2023-10-12T03:27:03.616016+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'}]}]} 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/detail?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '7d566548-10a6-42aa-8571-7cf0d3ebef13', 'created_at': '2023-10-12T03:27:03.959549+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/7d566548-10a6-42aa-8571-7cf0d3ebef13', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7d566548-10a6-42aa-8571-7cf0d3ebef13', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/7d566548-10a6-42aa-8571-7cf0d3ebef13/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7d566548-10a6-42aa-8571-7cf0d3ebef13/ports', 'rel': 'bookmark'}]}, {'uuid': '3723551b-d3ad-428f-9240-7bde04cc2426', 'created_at': '2023-10-12T03:27:03.947006+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/3723551b-d3ad-428f-9240-7bde04cc2426', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3723551b-d3ad-428f-9240-7bde04cc2426', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/3723551b-d3ad-428f-9240-7bde04cc2426/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3723551b-d3ad-428f-9240-7bde04cc2426/ports', 'rel': 'bookmark'}]}, {'uuid': 'e9ae16f2-ee16-4481-bda0-aa8c33894a87', 'created_at': '2023-10-12T03:27:03.945891+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/e9ae16f2-ee16-4481-bda0-aa8c33894a87', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e9ae16f2-ee16-4481-bda0-aa8c33894a87', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/e9ae16f2-ee16-4481-bda0-aa8c33894a87/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e9ae16f2-ee16-4481-bda0-aa8c33894a87/ports', 'rel': 'bookmark'}]}]} 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-a07ee120-f1ce-4931-8e41-bace0639f4d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/?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-cb8ef252-61a5-46f3-b08d-db7f77f34b72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.131848s] ... ok 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?detail=True {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2023-10-12T03:27:01.317041+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?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-8fa9e4dc-5360-42f1-aa60-2f1aa0c151b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=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 {} DEBUG util.py:445: GOT:{'portgroups': []} 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'}]}]} 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-90b6e168-8693-41e4-a663-0536d0e877a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2023-10-12T03:27:02.464095+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 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'c3714ddc-17dd-457d-af79-6ce1000f5dd5', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/c3714ddc-17dd-457d-af79-6ce1000f5dd5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c3714ddc-17dd-457d-af79-6ce1000f5dd5', 'rel': 'bookmark'}]}, {'uuid': '319324e3-d8cd-43c4-bb19-46ff10a42b42', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/319324e3-d8cd-43c4-bb19-46ff10a42b42', 'rel': 'self'}, {'href': 'http://localhost/portgroups/319324e3-d8cd-43c4-bb19-46ff10a42b42', 'rel': 'bookmark'}]}, {'uuid': '9e92df0d-cda2-4d34-b0e9-a35e22cd09b1', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/9e92df0d-cda2-4d34-b0e9-a35e22cd09b1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9e92df0d-cda2-4d34-b0e9-a35e22cd09b1', 'rel': 'bookmark'}]}, {'uuid': 'b9ba0dac-c71a-4c7b-88a0-8c09735a8a86', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/b9ba0dac-c71a-4c7b-88a0-8c09735a8a86', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b9ba0dac-c71a-4c7b-88a0-8c09735a8a86', 'rel': 'bookmark'}]}, {'uuid': '65215a37-a551-44d2-8166-d483a5b8f004', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/65215a37-a551-44d2-8166-d483a5b8f004', 'rel': 'self'}, {'href': 'http://localhost/portgroups/65215a37-a551-44d2-8166-d483a5b8f004', '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'}]}]} 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/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=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-450131d7-1511-49fd-a54f-316f13e6b752 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '/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-30314461-61a2-45cc-8c81-3b76114ab0dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-91fa9bbb-603c-42e4-8607-25cc48b35d98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-2370a892-2d6f-4358-8a13-a2947941c3f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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\"}"}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.104475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.241454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.111092s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.181201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.087473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.096328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.050882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.172165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.096036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.114950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.097749s] ... 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-5afba4cd-b962-4eab-a149-f50f43b5a5c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: PATCH: /v1/ports/88316e97-e6be-4dda-b25b-f39098315734 [{'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-e789588f-cc21-40c4-a9d0-f07206f6bf25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 88316e97-e6be-4dda-b25b-f39098315734 could not be found.\", \"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-fac6fccc-030e-4625-9f62-cf89d3f1d236 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:03.260369+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: 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-3a94b1ff-02bd-493d-a507-36bc84cfe6fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': {'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-3abde14d-a1e2-44d3-93ee-bb1ee9795a44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long Failed validating 'maxLength' in schema['properties']['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': '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-850fa70e-0688-4601-94a2-87341a1d271e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property Failed validating 'required' in schema[0]\", \"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-d2a91fd5-fd27-41ac-91b9-c22ba2b36082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:04.181909+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': 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-c8eb8e3b-edeb-4569-be76-31c38a9afdfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:04.355204+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': 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-01b5716c-00ec-4069-88c0-372fb6d1c848 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:04.577376+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"}{3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.191378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.161100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.112519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.112411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.125703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.126067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.124984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.067772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.137199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.121683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.085311s] ... 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.088660s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.046313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.143925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.152138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.117675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.128720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.098376s] ... ok 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-e73e2cee-2c1c-4359-9025-51cf0909b840 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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": "2023-10-12T03:27:04.313067+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-47477c20-9e0d-417e-9f8b-4a34a320aa05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/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-4b0c2695-7b21-4fef-9575-d149d4c075d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:04.668332+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', '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-eff3e513-e8fb-462c-8492-559e21be1c5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:04.778701+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"}]} 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-fc7f1854-68e8-40a6-85b8-de7e6bdcec4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:04.901110+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': {'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-26f26775-f95e-476c-a9b6-7e77e61da180 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:05.031093+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': '2023-10-12T03:27:05.031093+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 {'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/1e949c73-ecc2-4005-af82-827c740b00db DEBUG util.py:445: Openstack-Request-Id: req-8b61c116-68c7-4c32-ab48-8f53b2749872 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1e949c73-ecc2-4005-af82-827c740b00db", "created_at": "2023-10-12T03:27:05.189393+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/1e949c73-ecc2-4005-af82-827c740b00db", "rel": "self"}, {"href": "http://localhost/portgroups/1e949c73-ecc2-4005-af82-827c740b00db", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/1e949c73-ecc2-4005-af82-827c740b00db/ports", "rel": "self"}, {"href": "http://localhost/portgroups/1e949c73-ecc2-4005-af82-827c740b00db/ports", "rel": "bookmark"}]}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.156336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.168793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.082156s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.073884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.133386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.107180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.125618s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.078625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.078703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.079996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.047854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.042329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.182882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.066627s] ... ok 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-507593f4-f959-4b14-8d45-8b0edee1a67c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '2023-10-12T03:27:04.610730+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?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '84454b69-1625-4da0-88cd-641360ad1a5e', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/84454b69-1625-4da0-88cd-641360ad1a5e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/84454b69-1625-4da0-88cd-641360ad1a5e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups?sort_key=uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '5313f2f2-57bc-434b-a811-3315cb341b60', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/5313f2f2-57bc-434b-a811-3315cb341b60', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5313f2f2-57bc-434b-a811-3315cb341b60', 'rel': 'bookmark'}]}, {'uuid': '76354ae0-1641-4e81-97ee-80433268cfa9', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/76354ae0-1641-4e81-97ee-80433268cfa9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/76354ae0-1641-4e81-97ee-80433268cfa9', 'rel': 'bookmark'}]}, {'uuid': '90bf0f19-a4c8-47f6-8ed0-fabee568469b', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/90bf0f19-a4c8-47f6-8ed0-fabee568469b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/90bf0f19-a4c8-47f6-8ed0-fabee568469b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'eb7bb2f3-e3b3-4264-9e06-260d28f21ee0', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/eb7bb2f3-e3b3-4264-9e06-260d28f21ee0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/eb7bb2f3-e3b3-4264-9e06-260d28f21ee0', 'rel': 'bookmark'}]}, {'uuid': '050a5dfd-e418-4abd-ad0c-37101ad790fe', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/050a5dfd-e418-4abd-ad0c-37101ad790fe', 'rel': 'self'}, {'href': 'http://localhost/portgroups/050a5dfd-e418-4abd-ad0c-37101ad790fe', 'rel': 'bookmark'}]}, {'uuid': '005e34e6-3326-4264-9ecf-9e02affd9cb0', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/005e34e6-3326-4264-9ecf-9e02affd9cb0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/005e34e6-3326-4264-9ecf-9e02affd9cb0', '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-f33ab17e-ed48-472f-a406-730c2eebd781 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-259718fc-0e63-4cf5-9b00-8e1db4f09b82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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}"} 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-4bf87ea6-1039-4b83-802a-724683f6bc35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:05.260260+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': '/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-6b88efa1-6963-4310-bc49-dcb2f2f44771 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-a1bd2dbd-2a68-44d3-a3cf-0f0c45084156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:05.466543+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/f7b84899-d828-4421-b8ba-980342d37ad0 [{'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-a8334bfd-79b5-44fa-b93c-9f8a1a7a1935 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup f7b84899-d828-4421-b8ba-980342d37ad0 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': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'internal_info': 'info'}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.058496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.106648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.046316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.031720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.068302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.042882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.036587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.092242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.040980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.075370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.034100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.030411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.044447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.098760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.041410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.017857s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.132286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.036670s] ... 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': 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-500a402b-315a-4439-8270-1af2d13b5841 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:04.742403+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: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-56b7bdf4-f610-43b3-ae13-ad1d7d911fdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-760c8247-26cf-423d-ba00-3e45543c95fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:04.971199+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': '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-d5ba9362-4002-481d-9028-649d328a5a0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:05.138313+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-d5c80c2a-b103-4df5-a4ce-391e4d00171a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-1cdd3056-4da0-4f85-87cc-1ee53e9eae00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-767017a0-850b-4a17-94fe-12a05baf658f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:05.567983+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': False, '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_vif_nopxe_portgroup_standalone_ports [0.194253s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.032109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.030069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.163154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.024105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.067201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.042938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.122568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.071461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.039276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.037928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.026494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.040344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.062210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.049161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.026887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.019059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.017666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.018708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.017456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.181753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.017830s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.017027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.128695s] ... 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-5b896aa6-acbb-448c-adf0-3eb049ee2b81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected) Failed validating 'additionalProperties' in schema\", \"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-9ed1dc7b-d780-4ea7-95dd-37d94bbe605f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"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': '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-2edacd27-aba2-45c4-8e63-a7682d771aec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-2c86eb44-2afe-422a-a995-b756ef3976ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:05.706922+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/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-ff0822c0-5712-46d2-bcbc-795ff62ce407 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ca4093f4-7173-466b-8d87-641c0f22c887 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/3f1a5ff0-4062-4be7-97d4-eef0ea05c996 {'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-ce635e89-924e-43c0-9648-d6aea49ef493 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 3f1a5ff0-4062-4be7-97d4-eef0ea05c996 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-3be53836-9e03-4e7c-b330-df1c01f0ad2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-66bedfe5-e7ee-4f9e-a3d7-e38c03d9dd69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ca9f5ca4-aecd-4bd4-9949-11a594dce127 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/8eeea768-f27e-4878-815a-d55cbb8b9eb3 {'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-8620567b-0927-4a10-96e5-5eb0e23a62c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-af15fe3c-b951-46d7-8366-40e32de7462f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b3b8fd25-60bd-4857-b738-16ea811b9f03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_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-6cc0a0e6-d3cf-4654-95c5-680664e88889 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2ff92920-d703-4183-ae0f-381b62881778 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.032859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.033901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.042140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.044389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.018762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.017921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.019230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.017456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.017091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.016951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.016676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.066239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.115305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.159250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.016888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.017434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.018858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.085274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.018489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.018680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.088860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.019226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.018979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.096982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.148096s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.021274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.019562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.019540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.040969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.103357s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.020491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.064534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.033988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.029119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.036451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.019487s] ... 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.018676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.018094s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.062649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.018035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.125379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.111527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.038627s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.066282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.039424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.082324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.029770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.054616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.030479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.052420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.039776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.072283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.034206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.080356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.043833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.086112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.076105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.052105s] ... 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.056409s] ... 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-b59718ac-bb82-436a-9315-ae74633c7b27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:05.773118+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': '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-527f80fb-1bb3-47db-a20f-00434b47dfd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5a2d58b-3ead-470f-8dfd-e34d4d799783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-17d2fbcb-0281-4fbe-9d5f-9eb13aec469d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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) Failed validating 'additionalProperties' in schema\", \"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': '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-654d3108-5721-40b9-9f23-97332a4118fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:06.301120+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': 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-d04e370f-9dc1-4721-b147-eb6029e0ebad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:06.424714+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-fd3e5973-0dfe-4bfd-b910-88cf81c83034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: GET: /v1/portgroups?fields=address,uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '62d43930-d226-471e-b1f0-78cd8d9ef7d3', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/62d43930-d226-471e-b1f0-78cd8d9ef7d3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/62d43930-d226-471e-b1f0-78cd8d9ef7d3', 'rel': 'bookmark'}]}, {'uuid': 'e39f75e8-ef15-4691-aa5d-e2f5feced8e7', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/e39f75e8-ef15-4691-aa5d-e2f5feced8e7', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e39f75e8-ef15-4691-aa5d-e2f5feced8e7', 'rel': 'bookmark'}]}, {'uuid': '4e79ee19-f407-4f70-9db9-fa05795c5588', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/4e79ee19-f407-4f70-9db9-fa05795c5588', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4e79ee19-f407-4f70-9db9-fa05795c5588', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=4e79ee19-f407-4f70-9db9-fa05795c5588'} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '85ca5681-de33-4016-bcd5-621bf80ea1ba', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/85ca5681-de33-4016-bcd5-621bf80ea1ba', 'rel': 'self'}, {'href': 'http://localhost/portgroups/85ca5681-de33-4016-bcd5-621bf80ea1ba', 'rel': 'bookmark'}]}, {'uuid': '18cafa59-8c08-4c37-a5e9-d4f86abd5053', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/18cafa59-8c08-4c37-a5e9-d4f86abd5053', 'rel': 'self'}, {'href': 'http://localhost/portgroups/18cafa59-8c08-4c37-a5e9-d4f86abd5053', 'rel': 'bookmark'}]}, {'uuid': '7c66fe53-400d-4d73-9310-c04030bf075f', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/7c66fe53-400d-4d73-9310-c04030bf075f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7c66fe53-400d-4d73-9310-c04030bf075f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=7c66fe53-400d-4d73-9310-c04030bf075f'}{3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.130402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.138832s] ... 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.047853s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.056623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.104547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.081540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.050545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.037012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.207735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.126961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.064930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.078619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.060283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.051671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.213728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.036951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.036953s] ... ok DEBUG util.py:445: GET: /v1/portgroups/1e949c73-ecc2-4005-af82-827c740b00db {} DEBUG util.py:445: GOT:{'uuid': '1e949c73-ecc2-4005-af82-827c740b00db', 'created_at': '2023-10-12T03:27:05.189393+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/1e949c73-ecc2-4005-af82-827c740b00db', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1e949c73-ecc2-4005-af82-827c740b00db', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/1e949c73-ecc2-4005-af82-827c740b00db/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1e949c73-ecc2-4005-af82-827c740b00db/ports', 'rel': 'bookmark'}]} 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-72a4989a-664d-435f-8796-d1b916828d29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:05.321839+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': '2023-10-12T03:27:05.321839+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/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-03233d16-784a-4fd4-9dc3-863d4c107176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-f0b38417-8167-44e1-9f67-f60dea660dec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/f67fad5c-cb37-4e79-907f-422fa2b7b2b1 {'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-1bd601c3-afbb-46bb-b0c4-072a0e1dae64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node f67fad5c-cb37-4e79-907f-422fa2b7b2b1 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-913b98ed-444a-421a-a7f2-0b1ed893c702 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1fbc2045-2663-4911-b29f-768183eb7179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b21fe7dd-2040-4737-b5a0-76c24d2eceb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72'}} 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-eb75b34c-37b0-459c-aed4-a0420f1b6e64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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-0f13d452-2291-42ba-b8ba-7e10b48be414 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: GET: /v1/volume/connectors?fields=uuid,extra {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '9019a189-7770-4ca1-b372-998b73b3d695', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/9019a189-7770-4ca1-b372-998b73b3d695', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9019a189-7770-4ca1-b372-998b73b3d695', 'rel': 'bookmark'}]}, {'uuid': 'baff1890-045d-4799-b85f-118863bca7e9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/baff1890-045d-4799-b85f-118863bca7e9', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/baff1890-045d-4799-b85f-118863bca7e9', 'rel': 'bookmark'}]}, {'uuid': '8fbc4dd3-8f4d-4a18-b157-275512183b80', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/8fbc4dd3-8f4d-4a18-b157-275512183b80', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8fbc4dd3-8f4d-4a18-b157-275512183b80', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=8fbc4dd3-8f4d-4a18-b157-275512183b80'}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.085049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.270120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.033158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.323069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.107299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.034796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.056728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.125522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.054534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.024219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.050048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.028753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.129946s] ... 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.059454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.042375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.053170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.045074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.047956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.066310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.041398s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.049221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.075880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.052691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.064108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.059771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.406265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.046464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.075295s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.049335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.449265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.087950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.072253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.047046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.061852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.035074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.040019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.071523s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.093559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.042187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.060839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.191162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.034867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.081018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.060295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.052854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.043667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.043358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.168741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.054061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.087578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.044556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.055076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.028345s] ... ok 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-04b41de8-24c1-4024-b7b8-b85f8b085150 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} 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': '2023-10-12T03:27:07.100097+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:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28ce4681-a6bb-4005-85ed-779b572d7a22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=uuid,extra {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'cdcdf456-f5e8-4f09-ae37-767f50d4c35b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/cdcdf456-f5e8-4f09-ae37-767f50d4c35b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/cdcdf456-f5e8-4f09-ae37-767f50d4c35b', 'rel': 'bookmark'}]}, {'uuid': 'c8d28b6a-b35a-49bd-b277-f5a4a3c56ae2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/c8d28b6a-b35a-49bd-b277-f5a4a3c56ae2', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c8d28b6a-b35a-49bd-b277-f5a4a3c56ae2', 'rel': 'bookmark'}]}, {'uuid': '0241f6de-04c9-4c8d-a013-b1c1f8c68a13', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/0241f6de-04c9-4c8d-a013-b1c1f8c68a13', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0241f6de-04c9-4c8d-a013-b1c1f8c68a13', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/681dc516-25e0-4962-b531-c3a960389090/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '5eefce06-3b05-487e-88f0-25d699c62257', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/5eefce06-3b05-487e-88f0-25d699c62257', 'rel': 'self'}, {'href': 'http://localhost/ports/5eefce06-3b05-487e-88f0-25d699c62257', 'rel': 'bookmark'}]}, {'uuid': 'f1544b4d-eb9c-48d8-837f-daf655eb7389', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/f1544b4d-eb9c-48d8-837f-daf655eb7389', 'rel': 'self'}, {'href': 'http://localhost/ports/f1544b4d-eb9c-48d8-837f-daf655eb7389', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/681dc516-25e0-4962-b531-c3a960389090/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '5eefce06-3b05-487e-88f0-25d699c62257', 'created_at': '2023-10-12T03:27:07.684982+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/5eefce06-3b05-487e-88f0-25d699c62257', 'rel': 'self'}, {'href': 'http://localhost/ports/5eefce06-3b05-487e-88f0-25d699c62257', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '681dc516-25e0-4962-b531-c3a960389090'}, {'uuid': 'f1544b4d-eb9c-48d8-837f-daf655eb7389', 'created_at': '2023-10-12T03:27:07.686143+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/f1544b4d-eb9c-48d8-837f-daf655eb7389', 'rel': 'self'}, {'href': 'http://localhost/ports/f1544b4d-eb9c-48d8-837f-daf655eb7389', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '681dc516-25e0-4962-b531-c3a960389090'}]} DEBUG util.py:445: GET: /v1/portgroups/681dc516-25e0-4962-b531-c3a960389090/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '5eefce06-3b05-487e-88f0-25d699c62257', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/5eefce06-3b05-487e-88f0-25d699c62257', 'rel': 'self'}, {'href': 'http://localhost/ports/5eefce06-3b05-487e-88f0-25d699c62257', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=5eefce06-3b05-487e-88f0-25d699c62257'} DEBUG util.py:445: GET: /v1/portgroups/681dc516-25e0-4962-b531-c3a960389090/ports/638cbd4c-19c6-4fcd-9893-eb961f9f047f {} 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/681dc516-25e0-4962-b531-c3a960389090/ports/f1174b1f-e4d7-4e05-9bfa-24050d7b0e15 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c47e2163-ded7-4efc-a442-5e88a741e3f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"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-16cca2fe-a84d-43ac-8cad-721fe849c04b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:08.167544+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-74479685-5258-4b75-b967-8665af8f354d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:08.393615+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', 'op': 'remove'}]{3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.188630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.389651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.194537s] ... ok 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-a81e0ebe-f2ba-410b-b465-5c4da9047ef5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} 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?fields=uuid,extra {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'a0153e70-4775-4e2b-8e2b-9ad4b5fbff2f', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/a0153e70-4775-4e2b-8e2b-9ad4b5fbff2f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a0153e70-4775-4e2b-8e2b-9ad4b5fbff2f', 'rel': 'bookmark'}]}, {'uuid': 'ea5002e7-f175-4a00-bdc2-a29928b02b2e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/ea5002e7-f175-4a00-bdc2-a29928b02b2e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ea5002e7-f175-4a00-bdc2-a29928b02b2e', 'rel': 'bookmark'}]}, {'uuid': '882947df-64ec-4722-a16a-1a977d261201', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/882947df-64ec-4722-a16a-1a977d261201', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/882947df-64ec-4722-a16a-1a977d261201', 'rel': 'bookmark'}]}]} 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 {} 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?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-63cf949b-ee09-4866-ab07-b79fac4cb762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dd6b1559-c3b9-4286-b2ba-c2127743568f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bba2d3ca-54af-4d19-ae3d-9e5724b6db61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:08.266730+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': '/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-3fa63c71-12dc-4f3e-80ce-20e11f8d8e59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:08.319721+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': '/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-256599f1-b656-413e-9723-9cdcbb79d913 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-be99a500-84db-4167-baa3-f144fd9b3d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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}"} 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-ce0ac103-3f4f-4290-8f39-cb256a5f343c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-23563725-643e-4c12-8b79-b4e858c5b3ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:08.519248+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: 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-52a37a21-7113-478e-a7f1-eae1bea3b56c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.042429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.038067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.074160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.055890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.150592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.216730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.086278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.064692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.096388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.086148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.217506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.411124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.236538s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.126699s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.232082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.220783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.169013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.146720s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.122955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.150756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.089119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.137120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.202269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.178839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.119742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.141940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.114277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.245325s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.504788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.108199s] ... 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-bc5a7fb5-3959-4c35-8d2c-ec5e0e234b29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:08.492892+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: 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-4ebc1af3-6305-424c-979f-f85547c89314 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-87b6c755-5630-4932-af3a-53bad8c05d8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-5531078d-5c17-4da4-981e-81c32b3d087b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:09.057995+00:00", "updated_at": "2023-10-12T03:27:09.061794+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_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-dcb1b8af-47bb-45da-80ce-2e292033f018 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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/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-466bce2b-8b23-43e6-8d8b-fe96dd45ed1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:09.478696+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-d171fc02-88cd-4c32-85cd-142101d932b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-f1c88098-fcd4-4ac3-9bd9-be2b0fe20649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-ae344f8a-8bd9-4a92-ab94-8cd272be6cbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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': '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-827e394f-fb4f-4ad3-b8fe-e390857860ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:09.967047+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': 'a409c6f5-dc90-4cbb-a260-e51db0bb16fb', 'name': '8006705d-b403-4060-911c-9a1878a1aff8', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.208867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.159135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.096979s] ... ok DEBUG util.py:445: POST: /v1/heartbeat/77dfbc79-4c2e-4644-863c-fa4f4a11b157 {'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-b1c83a3f-286d-476a-ac7a-15a8d180966d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb60a063-8908-4478-b283-5f4af688b804 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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&node_uuid=da8f4b3f-b79d-43f5-8714-6fdc376c747a {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d7f6cc6-4a9f-4951-9e34-c636924ecd05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '3bab3782-4a0e-4567-b2a9-181b74c658bb', '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/3bab3782-4a0e-4567-b2a9-181b74c658bb', 'rel': 'self'}, {'href': 'http://localhost/nodes/3bab3782-4a0e-4567-b2a9-181b74c658bb', '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=ed068238-8cce-4a6a-80fc-660db404cbd1 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'ed068238-8cce-4a6a-80fc-660db404cbd1', '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/ed068238-8cce-4a6a-80fc-660db404cbd1', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed068238-8cce-4a6a-80fc-660db404cbd1', '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 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e819be93-3b2c-4e90-b64d-f312c9e36d06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-bdcc3e90-5176-46ca-9f8e-67c965083a18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: GET: /v1/volume/connectors?detail=True {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:27:08.896870+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 {} DEBUG util.py:445: GOT:{'connectors': []} 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-60a6384f-4ce8-407b-9b0b-7342c401e85b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0 {} DEBUG util.py:445: GOT:{'uuid': '7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'created_at': '2023-10-12T03:27:09.604256+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0 {} DEBUG util.py:445: GOT:{'uuid': '7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'created_at': '2023-10-12T03:27:09.604256+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0 {} DEBUG util.py:445: GOT:{'uuid': '7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'created_at': '2023-10-12T03:27:09.604256+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7d9987b3-6ba3-4ca3-a5ec-9a9197b746f0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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: 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-3edb5bc1-4930-4eb4-bc54-166e719f3505 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:09.983285+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.168692s] ... ok 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-0f852ded-1417-44c4-9f95-39442fcb4bc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 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-1f730e61-a9c2-4c95-b581-d99a14da11fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:08.699646+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': '2023-10-12T03:27:08.699646+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'} 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-75524a18-8fc7-4b65-a458-fa2138934773 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/?limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'f91d27b7-abae-47ad-add6-506e6683e3df', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f91d27b7-abae-47ad-add6-506e6683e3df', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f91d27b7-abae-47ad-add6-506e6683e3df', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '980f3606-fda1-4ad1-a9c1-ce7e235851f9', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/980f3606-fda1-4ad1-a9c1-ce7e235851f9', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/980f3606-fda1-4ad1-a9c1-ce7e235851f9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '485ec9f4-5034-44f1-8b2b-974f9f05e3a8', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/485ec9f4-5034-44f1-8b2b-974f9f05e3a8', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/485ec9f4-5034-44f1-8b2b-974f9f05e3a8', '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=485ec9f4-5034-44f1-8b2b-974f9f05e3a8'} DEBUG util.py:445: GET: /v1/volume/targets?fields=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '123f6c7f-51c4-431c-8f91-796665804e13', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/123f6c7f-51c4-431c-8f91-796665804e13', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/123f6c7f-51c4-431c-8f91-796665804e13', 'rel': 'bookmark'}]}, {'uuid': '3e1f0ea6-2a98-4738-b45e-c763af7a3c39', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/3e1f0ea6-2a98-4738-b45e-c763af7a3c39', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3e1f0ea6-2a98-4738-b45e-c763af7a3c39', 'rel': 'bookmark'}]}, {'uuid': '391b073b-da13-47d3-bfd3-8a90a0c0830f', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/391b073b-da13-47d3-bfd3-8a90a0c0830f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/391b073b-da13-47d3-bfd3-8a90a0c0830f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=391b073b-da13-47d3-bfd3-8a90a0c0830f'} DEBUG util.py:445: GET: /v1/volume/targets?detail=True {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2023-10-12T03:27:09.007890+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&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-594b00b3-d8e0-4af4-a3e1-13d0849ef688 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': []} 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/a2b5d6d7-15b9-4e74-aaa1-de1d056a4c25', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a2b5d6d7-15b9-4e74-aaa1-de1d056a4c25', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/687705c2-a6f3-4a4c-a4bc-0aac8512c8d2', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/687705c2-a6f3-4a4c-a4bc-0aac8512c8d2', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=687705c2-a6f3-4a4c-a4bc-0aac8512c8d2'} 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': '2023-10-12T03:27:09.680214+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?sort_key=uuid {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '03d4bed3-05d0-4937-b372-56cdb4eab1b9', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/03d4bed3-05d0-4937-b372-56cdb4eab1b9', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/03d4bed3-05d0-4937-b372-56cdb4eab1b9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '79c7ee4b-196c-4210-a68e-0344e4467fc6', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/79c7ee4b-196c-4210-a68e-0344e4467fc6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/79c7ee4b-196c-4210-a68e-0344e4467fc6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ea7939ec-4137-4572-82cb-b7a5ad5f2a30', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/ea7939ec-4137-4572-82cb-b7a5ad5f2a30', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ea7939ec-4137-4572-82cb-b7a5ad5f2a30', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]}{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.154907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.161360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.103782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.204370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.235626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.206234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.149609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.154593s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.094181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.255658s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.284964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.167206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.189437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.136186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.113540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.153716s] ... ok 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/?limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'e005e53e-f455-4c43-9a73-1566dd871811', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e005e53e-f455-4c43-9a73-1566dd871811', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e005e53e-f455-4c43-9a73-1566dd871811', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '75d385d3-40af-4f7b-a521-abad0dd7fc55', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/75d385d3-40af-4f7b-a521-abad0dd7fc55', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/75d385d3-40af-4f7b-a521-abad0dd7fc55', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4446b499-5a9c-4226-b3d0-8c60a32d4068', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4446b499-5a9c-4226-b3d0-8c60a32d4068', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4446b499-5a9c-4226-b3d0-8c60a32d4068', '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=4446b499-5a9c-4226-b3d0-8c60a32d4068'} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '8b36ff7a-7882-41e7-a08d-393f30e58ce9', 'created_at': '2023-10-12T03:27:08.977294+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8b36ff7a-7882-41e7-a08d-393f30e58ce9', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8b36ff7a-7882-41e7-a08d-393f30e58ce9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2b01699a-a050-4582-9542-8ddaa389a255', 'created_at': '2023-10-12T03:27:08.978802+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2b01699a-a050-4582-9542-8ddaa389a255', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2b01699a-a050-4582-9542-8ddaa389a255', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '313d9e1f-9c2d-46bd-9511-94698e37f3af', 'created_at': '2023-10-12T03:27:08.979789+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/313d9e1f-9c2d-46bd-9511-94698e37f3af', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/313d9e1f-9c2d-46bd-9511-94698e37f3af', '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=313d9e1f-9c2d-46bd-9511-94698e37f3af'} 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/ec157ff2-0082-4547-8437-58ac84b1d67e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ec157ff2-0082-4547-8437-58ac84b1d67e', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/b7905a98-a2cd-4431-a086-661f53426fdf', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b7905a98-a2cd-4431-a086-661f53426fdf', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=b7905a98-a2cd-4431-a086-661f53426fdf'} 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 {} 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?sort_key=uuid {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '812de5ce-0c3d-43be-a51d-d396b90fccbe', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/812de5ce-0c3d-43be-a51d-d396b90fccbe', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/812de5ce-0c3d-43be-a51d-d396b90fccbe', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8841abb6-1edb-40ce-9082-df3d3534e1e5', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8841abb6-1edb-40ce-9082-df3d3534e1e5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8841abb6-1edb-40ce-9082-df3d3534e1e5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ff3d16d6-e5ff-400e-84db-3b1609401434', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ff3d16d6-e5ff-400e-84db-3b1609401434', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ff3d16d6-e5ff-400e-84db-3b1609401434', '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-afe067a9-438e-4ce6-9a1a-3c2f123f47f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-67229662-e4d9-442f-bd9e-dab56301e531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-21d7c3d6-34c7-4596-9de3-aa3b801e0a8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:10.661110+00:00", "updated_at": "2023-10-12T03:27:10.682581+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"}{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.227536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.253952s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.157033s] ... ok DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa8bda71-7543-4f5e-97cd-20b48432cf83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-387fdce2-e239-408d-9189-ad3c02b6a989 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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', '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-f19eaf28-8f82-4d2e-bacb-b3f6ffe05d7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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, '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-1b7c1f0e-8341-45fc-8122-4ee443eccc2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-7e068ba1-81f3-42a7-bfe3-285f3786c27d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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-3b7c7d3f-0102-4b4a-a9bd-7cc28946323b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2176c9be-4333-429f-9d9a-13bcf4d67ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:10.543086+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': '2023-10-12T03:27:10.543086+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-10161efc-82e1-4b5a-bb94-b0c6b94eba87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property Failed validating 'required' in schema\", \"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-d489b37e-4f52-4002-a848-0319f4dffc0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:10.897951+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': '2023-10-12T03:27:10.897951+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'}]}{3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.178133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.189910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.091652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.106063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.086026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.216128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.251496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.113217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.209373s] ... 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.039141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.104733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.204630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.106194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.241148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.093154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.092322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.091676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.151197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.044626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.216363s] ... 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.118050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.128670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.080569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.147437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.150730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.171706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.125758s] ... ok 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-80cf4d10-4258-41c3-bd0f-4adaa9edcdfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-543f7310-fec0-495c-bd28-a5b704b3dde3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:10.341900+00:00", "updated_at": "2023-10-12T03:27:10.367303+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-10b87aab-f25c-40b8-bf9c-070bef1d3e96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:10.341900+00:00", "updated_at": "2023-10-12T03:27:10.367303+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-4259577a-5ca3-4f32-b664-a5b072d50f48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 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-cb6f35d2-c511-4a3d-a5d4-341d3b8b5b6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 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-0140e35b-8907-4c93-bbf7-3d17bdcd31de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} 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/a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05 DEBUG util.py:445: Openstack-Request-Id: req-1a5042b5-ab4c-4ada-8c07-24ab6080079d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05", "created_at": "2023-10-12T03:27:11.303734+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05", "rel": "self"}, {"href": "http://localhost/volume/connectors/a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/connectors/a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05 {} DEBUG util.py:445: GOT:{'uuid': 'a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05', 'created_at': '2023-10-12T03:27:11.303734+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a4d4eecf-4ac6-4eb7-85e2-0c2fe02a8c05', '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': 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-901b02e7-4bb9-45f4-a61d-f9b93fff18b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string' Failed validating 'type' in schema['properties']['node_uuid']\", \"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': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52dbbc92-34a0-4941-97cd-8c60531b5c72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} 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-50650a76-4ba3-4032-ba2d-34c52deb62d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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}"}{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.174159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.160970s] ... ok 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-2c35cec4-212d-4fb0-ac00-11f81840c0c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:09.958830+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-0b2bcf1e-2810-4541-b487-d3570d56ff12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:10.178894+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-9240b191-9f8c-46e1-bef4-7959d6df24d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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', '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-780054af-f67a-401d-a742-88d6fb6d58f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:10.504320+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': '/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-7523f93a-a684-44bc-8ecb-0da1c7d3f7d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property Failed validating 'required' in schema\", \"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-9e3d222d-a86b-4cd8-9498-6e61403c76cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ac681fe6-2e5b-4c41-a076-1d6bce1c474a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-d39c0254-3d38-4923-844e-38a7b684e3ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:11.289047+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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07441e94-e0f2-40f2-a679-978920a3b72c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:11.508255+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/3100267a-7e4f-4973-beea-0a7a2de0c5b5 [{'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-86612b68-5225-4f73-b229-205323151a35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 3100267a-7e4f-4973-beea-0a7a2de0c5b5 could not be found.\", \"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-813b1a34-a5e3-4fcc-935b-eccbd94d759e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.098496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.099670s] ... 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.146823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.261683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.236751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00009_public_api_v1_xml [0.089038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.090794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.360761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.238995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.049273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.192712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.077465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00007_nodes_get_node_observer [0.252920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.126283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.170736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.270213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.143265s] ... ok 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-527bae2b-a604-467e-86bf-4e73bfa62626 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:10.839261+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': '/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 {'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-feb59d33-1bec-4181-90aa-a785fdf7a0b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:11.244009+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?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '3c1141b9-d0b3-4bed-a8cf-79ec1bd8a058', 'created_at': '2023-10-12T03:27:11.359152+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/3c1141b9-d0b3-4bed-a8cf-79ec1bd8a058', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3c1141b9-d0b3-4bed-a8cf-79ec1bd8a058', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0c793983-9f40-4187-9375-14504b116959', 'created_at': '2023-10-12T03:27:11.361012+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/0c793983-9f40-4187-9375-14504b116959', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0c793983-9f40-4187-9375-14504b116959', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c8e61153-90a1-490b-a967-17f51e09d9b6', 'created_at': '2023-10-12T03:27:11.362036+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/c8e61153-90a1-490b-a967-17f51e09d9b6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c8e61153-90a1-490b-a967-17f51e09d9b6', '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=c8e61153-90a1-490b-a967-17f51e09d9b6'} 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-3cbe067a-f6e1-47b6-b9fb-28f155553947 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '2023-10-12T03:27:11.517603+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?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=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '8da3f63a-1b04-47a7-8a20-96c1d0f322ac', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/8da3f63a-1b04-47a7-8a20-96c1d0f322ac', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8da3f63a-1b04-47a7-8a20-96c1d0f322ac', 'rel': 'bookmark'}]}, {'uuid': 'f5d47a6d-a929-4315-8189-32e21691aab9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/f5d47a6d-a929-4315-8189-32e21691aab9', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f5d47a6d-a929-4315-8189-32e21691aab9', 'rel': 'bookmark'}]}, {'uuid': 'adf31859-d88c-40f6-8c95-8ef120eebecc', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/adf31859-d88c-40f6-8c95-8ef120eebecc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/adf31859-d88c-40f6-8c95-8ef120eebecc', 'rel': 'bookmark'}]}]} 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': '/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-a9fdea12-18c3-45de-b8c8-3ad8b9ad0003 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-cd8103a5-a625-4e38-b58d-c38bdc89aade DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/boot_index', 'value': 100, 'op': 'replace'}]{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.106890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.073696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.175942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.037002s] ... 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': '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', '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-1edd1744-2fff-4f56-aab0-b8181f6276b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property Failed validating 'required' in schema\", \"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-5a01d8d0-dbdd-4eec-b249-12cf2962e47f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbafffcd-1f58-4130-be51-ab293244014c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:12.295904+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-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, "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-dbafffcd-1f58-4130-be51-ab293244014c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:12.295904+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-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, "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 {}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00008_nodes_get_node_other_admin [0.290704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00012_nodes_detail_get_member [0.109733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.100116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.160050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.092253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.227333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.143875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.042586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.070270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.164279s] ... 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-01299254-7612-4622-a20a-67fd71dd7d65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:12.577615+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-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, "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-01299254-7612-4622-a20a-67fd71dd7d65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:12.577615+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-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, "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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89b4d71e-2bb8-4b5d-817f-5c53f04be707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89b4d71e-2bb8-4b5d-817f-5c53f04be707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0c11781-5488-4d68-beaa-7b4fe251fd3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:12.936879+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-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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.195149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.225025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.267588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.118759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.063807s] ... ok 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-98d48231-a2c7-4d17-ac18-7548d689a46b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cc4a5e5e-087a-4e9d-bbaf-2967ccf3dd63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-02bbfb6d-cf82-449f-9c76-9b04dd3699df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-98174ed1-2a2b-4d06-854b-0b1c6ae33e12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-81919bc0-655b-4585-b240-f332a15b6f93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/test.1 {'callback_url': 'url', 'agent_token': 'token'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-f121d70e-7464-46da-b261-acdf836edf3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e79a69fb-8de8-4b93-93f8-f60825d15036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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_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-96f443c5-92eb-4fbb-a11f-f8920457e011 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'adc783ca-b321-4e00-bb5c-fa3492171194', '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/adc783ca-b321-4e00-bb5c-fa3492171194', 'rel': 'self'}, {'href': 'http://localhost/nodes/adc783ca-b321-4e00-bb5c-fa3492171194', '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=f9b9abf9-e0e0-4d1c-8aae-56e2c16e67ab {} DEBUG util.py:445: GOT:{'node': {'uuid': 'f9b9abf9-e0e0-4d1c-8aae-56e2c16e67ab', '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/f9b9abf9-e0e0-4d1c-8aae-56e2c16e67ab', 'rel': 'self'}, {'href': 'http://localhost/nodes/f9b9abf9-e0e0-4d1c-8aae-56e2c16e67ab', '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=09782d88-056d-45d1-a1b3-38d204dc1a94 {} DEBUG util.py:445: GOT:{'node': {'uuid': '09782d88-056d-45d1-a1b3-38d204dc1a94', '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/09782d88-056d-45d1-a1b3-38d204dc1a94', 'rel': 'self'}, {'href': 'http://localhost/nodes/09782d88-056d-45d1-a1b3-38d204dc1a94', '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-b7e14432-fe5c-40f5-917f-4ccb9a300b41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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&node_uuid=6ddda0d0-eefa-4daf-8add-9cf0102ad946 {} DEBUG util.py:445: GOT:{'node': {'uuid': '6ddda0d0-eefa-4daf-8add-9cf0102ad946', '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/6ddda0d0-eefa-4daf-8add-9cf0102ad946', 'rel': 'self'}, {'href': 'http://localhost/nodes/6ddda0d0-eefa-4daf-8add-9cf0102ad946', '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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a479cb2d-d2ea-484f-8caf-0729e51d248e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a95abe2b-3a20-4325-9041-b4e8534eb8a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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/ {}{3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.093200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.054195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.080639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.095034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.111675s] ... 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-206489c1-f2be-4a13-9ceb-1096d8a0c100 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '8397ca5a-68ef-4793-827e-f41947cb1564', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/8397ca5a-68ef-4793-827e-f41947cb1564', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8397ca5a-68ef-4793-827e-f41947cb1564', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b0e71830-ad5f-4d0e-b5cd-82ba46531035', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/b0e71830-ad5f-4d0e-b5cd-82ba46531035', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b0e71830-ad5f-4d0e-b5cd-82ba46531035', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f78ea659-df40-4903-bd02-0544aaf47978', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f78ea659-df40-4903-bd02-0544aaf47978', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f78ea659-df40-4903-bd02-0544aaf47978', '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\": \"\"}"} 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-4def082e-c7ef-4582-b470-3c918476930f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-03a8bd50-2ec5-42ae-a52c-ce5271338504 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-758384d8-0e48-42f9-89ef-4fae19ec86ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-535ff9b5-9630-4632-9092-fea958c64e1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:12.599879+00:00", "updated_at": "2023-10-12T03:27:12.603106+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: 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-31771a25-4c6e-4322-a0fa-4f2e34d34784 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 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-5657c9a2-27e3-4e27-8bf1-ef12c61c9e0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:13.007267+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': '2023-10-12T03:27:13.007267+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'}, '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-70351bbe-0d10-4f90-8dd8-de759e15b4e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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: 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-f16cc592-c174-4f06-9526-b6952d7549a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-f16cc592-c174-4f06-9526-b6952d7549a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACBasic.test_basic_00002_unauthenticated_user_cannot_get_node [0.112860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.049200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00004_project_member_cannot_get_node [0.266494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.036992s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.317612s] ... ok DEBUG util.py:445: {1} 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_allow_inject_nmi [0.030292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.023566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.036170s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.055261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00023_nodes_validate_get_admin [0.246894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.042002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.033358s] ... ok DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-548be117-d5d1-4ffe-bcf8-20db29d9b6b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-451a8c38-67c7-47c9-b118-283157a2e78b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:12.716212+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': '/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/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-90e2adca-888a-466b-a60a-e559fd9e435e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string' Failed validating 'type' in schema['properties']['node_uuid']\", \"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': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b26f0dd-4074-457b-992e-0a9fa84245d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} 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-a2f3bbee-edf5-49fb-b2bc-95a9a1f8409a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property Failed validating 'required' in schema\", \"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': {'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-3babcd51-fd12-4216-a022-031ec76d7f18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:13.165637+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': '2023-10-12T03:27:13.165637+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: 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-007c4667-4b45-4437-8d10-1d412db8dcc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:13.343975+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/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-2737baef-614c-47fe-8cba-164d5e3288aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-2737baef-614c-47fe-8cba-164d5e3288aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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 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-d23eebfd-5bfa-48a8-a738-f599f38a28a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72"}, "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"}]}{2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00006_public_api_v1 [0.099945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00007_public_api_v1_slash [0.116811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.058207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.033239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.077598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.065732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.029698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.028191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.051040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.024228s] ... 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-aced7084-0519-41b6-b29c-2533161ca868 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:13.816882+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-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, "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": "2023-10-12T03:27:13.819463+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-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, "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": "651842fa-2fff-4afb-8e71-94ff585cf064", "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": "2023-10-12T03:27:13.941393+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": "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/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-aced7084-0519-41b6-b29c-2533161ca868 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:13.816882+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-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, "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": "2023-10-12T03:27:13.819463+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-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, "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": "651842fa-2fff-4afb-8e71-94ff585cf064", "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": "2023-10-12T03:27:13.941393+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": "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/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.TestRBACModelBeforeScopes.test_rbac_legacy_00013_nodes_detail_get_observer [0.352739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.037434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.034497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.028337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.026081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00025_nodes_validate_get_observer [0.493149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.033407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00004_nodes_post_observer [0.577626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.045214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.020346s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.028538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.018422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.023283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00015_nodes_node_ident_get_member [0.531603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.020487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.019418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.037656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.025137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.022275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.019390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.033367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.049816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.442279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.092842s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.352060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.095778s] ... 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-d23eebfd-5bfa-48a8-a738-f599f38a28a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72"}, "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/ 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-b49ffa60-8948-40de-aa8b-9328bb645c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72"}, "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-b49ffa60-8948-40de-aa8b-9328bb645c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72"}, "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-ba60088f-4013-4ec5-83a9-bc7c22ce56ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ba60088f-4013-4ec5-83a9-bc7c22ce56ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-618e7c55-3082-48c8-ab75-c83175b30ffc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00006_nodes_get_node_member [0.465133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.053601s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.070875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.111202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00010_nodes_get_other_admin [0.321154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.345639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.091009s] ... 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-a0c11781-5488-4d68-beaa-7b4fe251fd3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:12.936879+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-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, "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-11c3fe7d-172b-42b7-9093-72eda52cb07c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-11c3fe7d-172b-42b7-9093-72eda52cb07c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-f1246b74-daba-48f1-87d6-0664193c0b23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f1246b74-daba-48f1-87d6-0664193c0b23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ace40d4e-8d8d-4f8e-8243-63f03ebe18b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ace40d4e-8d8d-4f8e-8243-63f03ebe18b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9e4a026-5c42-489d-93c7-6e5b50ece276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e9e4a026-5c42-489d-93c7-6e5b50ece276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-b5981964-d659-47f1-9f29-d66e99b3d377 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b5981964-d659-47f1-9f29-d66e99b3d377 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-85a1b227-231e-420d-a598-3db39739fcd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00027_nodes_maintenance_put_member [0.389419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.138787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.463457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.296524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.037126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.530424s] ... 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-618e7c55-3082-48c8-ab75-c83175b30ffc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bd53738-583b-425c-903c-1509b50c63c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-0bd53738-583b-425c-903c-1509b50c63c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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 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-fdb8cfe3-64a5-4209-a445-dfe7cb70643e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:15.366192+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-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, "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-fdb8cfe3-64a5-4209-a445-dfe7cb70643e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:15.366192+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-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, "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.TestRBACModelBeforeScopes.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.552972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.128247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.236462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.058673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.096493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.112514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00048_nodes_states_power_put_member [0.090883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.104769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00049_nodes_states_power_put_observer [0.083570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00024_nodes_validate_get_member [0.460499s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.439407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.117751s] ... ok 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.72'}} 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-1d8d5798-a67c-4524-873c-d63522bd8c26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '892e2745-f699-4f9f-8951-0ad97ec83db5', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/892e2745-f699-4f9f-8951-0ad97ec83db5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/892e2745-f699-4f9f-8951-0ad97ec83db5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b2b200de-4813-4a39-83e9-29d86a91628e', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b2b200de-4813-4a39-83e9-29d86a91628e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b2b200de-4813-4a39-83e9-29d86a91628e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b8279349-2f26-423b-89fb-e83815014a37', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b8279349-2f26-423b-89fb-e83815014a37', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b8279349-2f26-423b-89fb-e83815014a37', '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=b8279349-2f26-423b-89fb-e83815014a37'} 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-f62bea7b-e5f3-4afc-8acb-fb6e7230aaae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} 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': '2023-10-12T03:27:15.850541+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 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-197650e3-51e0-418d-bd0b-e712728dac05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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?node=test-node {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'b6c7fde6-4291-4905-b234-559270dd21f3', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b6c7fde6-4291-4905-b234-559270dd21f3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b6c7fde6-4291-4905-b234-559270dd21f3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f62125ee-ef7a-49ea-b8d2-b929f2a661cb', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f62125ee-ef7a-49ea-b8d2-b929f2a661cb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f62125ee-ef7a-49ea-b8d2-b929f2a661cb', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8f89f6c2-77d2-4a73-bf5f-d21f60d1a0c3', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8f89f6c2-77d2-4a73-bf5f-d21f60d1a0c3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8f89f6c2-77d2-4a73-bf5f-d21f60d1a0c3', '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': '2023-10-12T03:27:16.157222+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 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '530ca2f7-c6b9-4460-ae6a-48ed3439cf2b', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/530ca2f7-c6b9-4460-ae6a-48ed3439cf2b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/530ca2f7-c6b9-4460-ae6a-48ed3439cf2b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8aaabe7e-652f-426f-b17d-83765e7363ed', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8aaabe7e-652f-426f-b17d-83765e7363ed', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8aaabe7e-652f-426f-b17d-83765e7363ed', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e43dd140-941b-4328-aae1-78ae52923751', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e43dd140-941b-4328-aae1-78ae52923751', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e43dd140-941b-4328-aae1-78ae52923751', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2bafb85c-ed8f-4765-b251-81baf1d459d6', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2bafb85c-ed8f-4765-b251-81baf1d459d6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2bafb85c-ed8f-4765-b251-81baf1d459d6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'cbe8b91d-1667-40bb-bb53-b8267c8e885b', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/cbe8b91d-1667-40bb-bb53-b8267c8e885b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/cbe8b91d-1667-40bb-bb53-b8267c8e885b', '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-a91eaf8c-0cac-43c4-8668-fe2a5d78c70f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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}"}{3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.052826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.090830s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00055_nodes_states_raid_put_observer [0.333488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.358416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.144018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.421673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.116063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00063_nodes_vendor_passthru_methods_get_observer [0.270510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.255312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.202696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.056893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.361586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.046754s] ... 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-85a1b227-231e-420d-a598-3db39739fcd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-0facb4ae-6e0d-4e2b-9ea6-bdea77820345 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-0facb4ae-6e0d-4e2b-9ea6-bdea77820345 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9a53bc2-21e7-4d06-9f7d-3b4f0a8d6c16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e9a53bc2-21e7-4d06-9f7d-3b4f0a8d6c16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-4d5ad793-730a-40ae-bfaa-108eb428073e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4d5ad793-730a-40ae-bfaa-108eb428073e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b88e1c15-a385-4cab-86a7-eed55c0b0886 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-b88e1c15-a385-4cab-86a7-eed55c0b0886 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8598bf76-c796-4f78-bad7-4d886c7c233d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8598bf76-c796-4f78-bad7-4d886c7c233d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-b0baff9d-ec31-416a-be49-6d4bed8163dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b0baff9d-ec31-416a-be49-6d4bed8163dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-5454578d-9e76-4c5b-a429-fe2259664883 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5454578d-9e76-4c5b-a429-fe2259664883 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a0fef46-cf76-42b7-a552-095fe4b6a431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6a0fef46-cf76-42b7-a552-095fe4b6a431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00064_nodes_vendor_passthru_get_admin [0.213982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.113011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.041522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00067_nodes_vendor_passthru_post_admin [0.166984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.086077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.374575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.341728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00070_nodes_vendor_passthru_put_admin [0.200749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.144968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.118929s] ... 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-b90be177-5ffa-43ef-acad-fe7be593dd07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-b90be177-5ffa-43ef-acad-fe7be593dd07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-846b9ee6-49c4-4a92-802c-54aaee66bd85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-846b9ee6-49c4-4a92-802c-54aaee66bd85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c468ade4-d5a7-4970-bac7-6ef2f83b15fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-c468ade4-d5a7-4970-bac7-6ef2f83b15fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-901c36b0-9409-4ad2-98fc-f2ec148d009b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-901c36b0-9409-4ad2-98fc-f2ec148d009b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-ae757104-9e39-402a-abd5-e932b7281a2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ae757104-9e39-402a-abd5-e932b7281a2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72292ea7-4714-4666-b50d-b14a8e62f367 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-72292ea7-4714-4666-b50d-b14a8e62f367 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3865f9a7-7282-4def-9fbe-3d0287b3b2df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3865f9a7-7282-4def-9fbe-3d0287b3b2df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ce14d05-3a73-45e6-818a-aa74052ca55a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-6ce14d05-3a73-45e6-818a-aa74052ca55a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2be1b6d3-af68-4547-9dc6-7141d8f43e2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00039_nodes_management_boot_device_supported_get_member [0.178254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00044_nodes_states_get_admin [0.141272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00078_nodes_traits_get_observer [0.316630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.295465s] ... ok 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-bda9f1cf-b790-4741-b472-cc25426dac5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-6b63b17f-ea67-4522-8b7e-0769cf9ed157 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_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-aaa091c6-7ed4-4107-8765-6193868fbb0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_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-6b64e294-50b4-4712-b89f-f107b6acb14d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-bf101313-7abf-4dc2-a26f-3ffaf319a85c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:16.941823+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: PATCH: /v1/volume/connectors/f42c3433-13dc-41c5-b9cd-15e84024bddb [{'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-97a2922d-a221-4276-a19c-30b80c588fb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector f42c3433-13dc-41c5-b9cd-15e84024bddb 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': {'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-f13f93cc-41e9-48dd-8991-7e2c2dc7080f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:17.099806+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"} 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': '2023-10-12T03:27:17.099806+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', '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-519b55f3-facb-46f2-a429-c96562c2d48f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property Failed validating 'required' in schema\", \"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-75660d2d-85c2-4ad9-8619-982062b2a444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:17.220368+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': 'e2b2ed3e-2efa-4d66-bf55-b034036c9245', '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-c9ccc6b1-d735-4c6f-8216-9c32a47cf997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 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-e3b7b4c3-d98c-4869-a77c-c1c8611fd7a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'b9720096-d404-416e-9389-b0143ed223c6', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/b9720096-d404-416e-9389-b0143ed223c6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b9720096-d404-416e-9389-b0143ed223c6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e5d0da90-2e02-4ef5-80b6-6f1badf5bef6', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/e5d0da90-2e02-4ef5-80b6-6f1badf5bef6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e5d0da90-2e02-4ef5-80b6-6f1badf5bef6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e681b6af-144d-4e21-a3d1-41a825bce122', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/e681b6af-144d-4e21-a3d1-41a825bce122', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e681b6af-144d-4e21-a3d1-41a825bce122', '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=e681b6af-144d-4e21-a3d1-41a825bce122'}{3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.221079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00047_nodes_states_power_put_admin [0.146217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00050_nodes_states_provision_put_admin [0.092584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.252011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00051_nodes_states_provision_put_member [0.088379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00046_nodes_states_get_observer [0.216825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00069_nodes_vendor_passthru_post_observer [0.080176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00072_nodes_vendor_passthru_put_observer [0.081927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00079_nodes_traits_put_admin [0.443831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.246671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00056_nodes_states_console_get_admin [0.225119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00075_nodes_vendor_passthru_delete_observer [0.106895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.122617s] ... 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-46180061-c552-4846-9203-3d44e7cb12bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-46180061-c552-4846-9203-3d44e7cb12bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce19d1f6-31eb-4d51-bf2f-098fe7b0a5e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ce19d1f6-31eb-4d51-bf2f-098fe7b0a5e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c67b7e33-7941-44cb-ac2f-3066d1e41710 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c67b7e33-7941-44cb-ac2f-3066d1e41710 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-40fac27c-b1bb-4070-9d53-cb273f999fc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-40fac27c-b1bb-4070-9d53-cb273f999fc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6622187a-2e28-4de7-9f77-3966663e9d50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6622187a-2e28-4de7-9f77-3966663e9d50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e929fea1-2eff-438a-a485-9883ca34479d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e929fea1-2eff-438a-a485-9883ca34479d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d7e26007-1ddb-457f-b8cc-502f171c7b9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7e26007-1ddb-457f-b8cc-502f171c7b9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} 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-21a412f9-857a-4fd9-bfd1-53e68caa8188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-21a412f9-857a-4fd9-bfd1-53e68caa8188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00062_nodes_vendor_passthru_methods_get_member [0.236499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00086_nodes_traits_trait_put_member [0.335112s] ... 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-2be1b6d3-af68-4547-9dc6-7141d8f43e2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1aa992fe-83cd-4b57-8836-06cc61cac954 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1aa992fe-83cd-4b57-8836-06cc61cac954 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} 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-f15c0dc2-9ac5-431b-8a8f-30c2fafe464f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f15c0dc2-9ac5-431b-8a8f-30c2fafe464f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-04f3ffcc-5b57-48c2-b896-d64b1810f95e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-04f3ffcc-5b57-48c2-b896-d64b1810f95e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7beeb37-3750-42a8-aa41-fc063b32119d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-f7beeb37-3750-42a8-aa41-fc063b32119d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-eaac6149-f6b5-4bfb-aae1-86ba66b9e4d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eaac6149-f6b5-4bfb-aae1-86ba66b9e4d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c12a902-1b7e-4123-a09a-620f5d0803b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c12a902-1b7e-4123-a09a-620f5d0803b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89cff64a-31fb-4d0c-b945-77314648697c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89cff64a-31fb-4d0c-b945-77314648697c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d27b852a-de0d-422b-87f3-46261013611c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d27b852a-de0d-422b-87f3-46261013611c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"traits": ["trait1"]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00076_nodes_traits_get_admin [0.151216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00087_nodes_traits_trait_put_observer [0.175267s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00065_nodes_vendor_passthru_get_member [0.270063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.405291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00080_nodes_traits_put_member [0.346253s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00094_nodes_vifs_post_admin [0.213943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00066_nodes_vendor_passthru_get_observer [0.319162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.328995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00097_nodes_vifs_node_vif_ident_delete_admin [0.229382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00081_nodes_traits_put_observer [0.379318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00068_nodes_vendor_passthru_post_member [0.178238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.193503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00103_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_00084_nodes_traits_delete_observer [0.291217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00071_nodes_vendor_passthru_put_member [0.274344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.276680s] ... 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-db08364a-9c46-4ac1-a469-7a3f12169873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-db08364a-9c46-4ac1-a469-7a3f12169873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-374135ec-92c3-43cb-8ad0-8cc177504186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-374135ec-92c3-43cb-8ad0-8cc177504186 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-359731b3-5280-428e-8da1-a30d8755eeca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-359731b3-5280-428e-8da1-a30d8755eeca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4577d72a-a040-4425-8c2e-186faf12da6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4577d72a-a040-4425-8c2e-186faf12da6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d68ed920-fcdd-4a1e-90a7-a97ab9fe5e67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-d68ed920-fcdd-4a1e-90a7-a97ab9fe5e67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f150feeb-d5e1-410b-972c-7bee652648fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f150feeb-d5e1-410b-972c-7bee652648fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-ad1c6d3e-8e59-4eaa-9473-4f7578fa5e0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ad1c6d3e-8e59-4eaa-9473-4f7578fa5e0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-57d9f8bc-47e3-4c8c-833c-63523d220f0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-57d9f8bc-47e3-4c8c-833c-63523d220f0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41aa4eba-8b8b-4c69-a76b-d8e6823a3b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-41aa4eba-8b8b-4c69-a76b-d8e6823a3b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00113_portgroups_detail_get_member [0.230124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00073_nodes_vendor_passthru_delete_admin [0.208629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00088_nodes_traits_trait_delete_admin [0.347225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00121_portgroups_portgroup_ident_delete_admin [0.267168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.254874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00124_nodes_portgroups_get_admin [0.235776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00074_nodes_vendor_passthru_delete_member [0.338419s] ... ok 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-0853fe03-5cb6-4264-bf5b-27a29f2bad36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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/29345168-13e3-4f94-8008-d3a4f87d9f18 {} DEBUG util.py:445: GOT:{'uuid': '29345168-13e3-4f94-8008-d3a4f87d9f18', 'created_at': '2023-10-12T03:27:18.493158+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/29345168-13e3-4f94-8008-d3a4f87d9f18', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/29345168-13e3-4f94-8008-d3a4f87d9f18', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/targets/29345168-13e3-4f94-8008-d3a4f87d9f18 {} DEBUG util.py:445: GOT:{'uuid': '29345168-13e3-4f94-8008-d3a4f87d9f18', 'created_at': '2023-10-12T03:27:18.493158+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/29345168-13e3-4f94-8008-d3a4f87d9f18', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/29345168-13e3-4f94-8008-d3a4f87d9f18', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/targets/29345168-13e3-4f94-8008-d3a4f87d9f18 {} DEBUG util.py:445: GOT:{'uuid': '29345168-13e3-4f94-8008-d3a4f87d9f18', 'created_at': '2023-10-12T03:27:18.493158+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/29345168-13e3-4f94-8008-d3a4f87d9f18', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/29345168-13e3-4f94-8008-d3a4f87d9f18', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'd510e60b-16ed-4984-acba-49f18e950961', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/d510e60b-16ed-4984-acba-49f18e950961', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d510e60b-16ed-4984-acba-49f18e950961', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a536020c-85a6-4d42-b8af-4544bf9761e3', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a536020c-85a6-4d42-b8af-4544bf9761e3', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a536020c-85a6-4d42-b8af-4544bf9761e3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '24363854-265f-45ca-b4ab-07201c49fb0d', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/24363854-265f-45ca-b4ab-07201c49fb0d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/24363854-265f-45ca-b4ab-07201c49fb0d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ffddf84a-ae44-4a9b-be4a-fbf81350dd64', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/ffddf84a-ae44-4a9b-be4a-fbf81350dd64', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ffddf84a-ae44-4a9b-be4a-fbf81350dd64', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '48943a73-056f-41b6-9bae-3d6261ebd13d', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/48943a73-056f-41b6-9bae-3d6261ebd13d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/48943a73-056f-41b6-9bae-3d6261ebd13d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-c9b36b0e-6807-4435-93cd-bdcb5eaa687f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-9a93a2c7-814a-45dd-af80-b6a2053adeaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:19.313582+00:00", "updated_at": "2023-10-12T03:27:19.372300+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-cdd18122-7f4e-482a-b238-4af228d798de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:19.313582+00:00", "updated_at": "2023-10-12T03:27:19.372300+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': '/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-c1e320da-d0b2-4579-a711-f04de1a0c3cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': 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-3f4be0c9-3e4f-45a6-ae82-6fd3dbb6fc7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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}"}{3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.330394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00127_nodes_portgroups_detail_get_admin [0.134082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00091_nodes_vifs_get_admin [0.389944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.180402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00133_ports_post_admin [0.215062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00082_nodes_traits_delete_admin [0.334683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00098_nodes_vifs_node_vif_ident_delete_member [0.269331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.148613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00001_values ... SKIPPED: For value storage DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00134_ports_post_member [0.137493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00003_project_admin_can_get_node [0.075197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00099_nodes_vifs_node_vif_ident_delete_observer [0.156781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00150_nodes_ports_get_observer [0.260394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00100_nodes_management_indicators_get_admin [0.209109s] ... ok 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-99219342-1dc7-49cb-9f3f-1397cac13023 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 {'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/cd7328d0-ad78-485a-b159-da5ebf6e996d DEBUG util.py:445: Openstack-Request-Id: req-01442ea4-51b4-4ea1-9a5a-e0d7db1be713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "cd7328d0-ad78-485a-b159-da5ebf6e996d", "created_at": "2023-10-12T03:27:20.360958+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/cd7328d0-ad78-485a-b159-da5ebf6e996d", "rel": "self"}, {"href": "http://localhost/volume/targets/cd7328d0-ad78-485a-b159-da5ebf6e996d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/targets/cd7328d0-ad78-485a-b159-da5ebf6e996d {} DEBUG util.py:445: GOT:{'uuid': 'cd7328d0-ad78-485a-b159-da5ebf6e996d', 'created_at': '2023-10-12T03:27:20.360958+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/cd7328d0-ad78-485a-b159-da5ebf6e996d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/cd7328d0-ad78-485a-b159-da5ebf6e996d', '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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ad1143e-8352-4609-9138-ca566eea40f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:20.510356+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": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": 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-1ad1143e-8352-4609-9138-ca566eea40f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:20.510356+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": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": 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 / 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-38c1b397-e983-4daa-ade3-387146e3eb24 DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}]}{3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00005_public_api [0.077290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00008_public_api_v1_json [0.055351s] ... 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-be8f1752-9030-48ff-b511-8c035dd0b505 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-be8f1752-9030-48ff-b511-8c035dd0b505 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ecad8396-f7d5-4515-a1a8-4986ac5f79af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-ecad8396-f7d5-4515-a1a8-4986ac5f79af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0cfc6ac-ee5d-44cb-b667-0b0495789c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c0cfc6ac-ee5d-44cb-b667-0b0495789c32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00014465-cbf2-40fe-b308-21facd98b63c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-00014465-cbf2-40fe-b308-21facd98b63c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-9a0d8995-a1dc-4869-83f4-3b70e5d4917d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-9a0d8995-a1dc-4869-83f4-3b70e5d4917d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1382ca72-5953-440e-8be5-ff60c4fd0bf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1382ca72-5953-440e-8be5-ff60c4fd0bf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-97a49574-61e5-4ade-bbd3-a8d0b269f8bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-97a49574-61e5-4ade-bbd3-a8d0b269f8bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96df70a8-9e41-4d13-a95c-1a40e7de128e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-96df70a8-9e41-4d13-a95c-1a40e7de128e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5943c9fa-62d2-40bb-ba37-b4624250f441 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00085_nodes_traits_trait_put_admin [0.360793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00002_nodes_post_admin [0.244240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00089_nodes_traits_trait_delete_member [0.326393s] ... ok 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-136488bb-71ce-4af9-9c50-663ae31141a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-136488bb-71ce-4af9-9c50-663ae31141a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5d83952e-10d8-4e48-873a-a9b69adf54b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5d83952e-10d8-4e48-873a-a9b69adf54b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f10eb7dd-16dc-4afd-bb98-eb278eb8b64e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:20.046169+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-f10eb7dd-16dc-4afd-bb98-eb278eb8b64e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:20.046169+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 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-3c01a478-4f89-4b1a-99c4-243037da4583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3c01a478-4f89-4b1a-99c4-243037da4583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-c2988638-2cab-4b01-ac0a-eada8a7273e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c2988638-2cab-4b01-ac0a-eada8a7273e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-d0c3ca8a-dd24-470e-928e-937d58a8b599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d0c3ca8a-dd24-470e-928e-937d58a8b599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fad6843f-da1d-4bff-9574-04b305af5195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fad6843f-da1d-4bff-9574-04b305af5195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00155_portgroups_ports_get_member [0.279160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00003_nodes_post_member [0.247250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00090_nodes_traits_trait_delete_observer [0.229047s] ... 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-665cbc03-e798-4f6a-93cc-69d84f5acc07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-665cbc03-e798-4f6a-93cc-69d84f5acc07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-178448d5-040a-46e5-b1d1-c7544ae55d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-178448d5-040a-46e5-b1d1-c7544ae55d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a46c8168-0250-4e6b-a36a-fc079e920b2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a46c8168-0250-4e6b-a36a-fc079e920b2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ca956b8-8dc1-45c0-8247-4d815dd4bb8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0ca956b8-8dc1-45c0-8247-4d815dd4bb8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1c725234-5d75-40d5-be10-d50b04649070 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1c725234-5d75-40d5-be10-d50b04649070 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e37ccbb2-bbc2-44af-ba7d-07ff683d95b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-e37ccbb2-bbc2-44af-ba7d-07ff683d95b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4eb9b845-767c-4887-9e62-c4f8c3d4a3d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4eb9b845-767c-4887-9e62-c4f8c3d4a3d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-fa77e43a-f114-4ea5-b2ab-001c39cf8d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa77e43a-f114-4ea5-b2ab-001c39cf8d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/625c8dcf-a6f8-4d44-91b9-53cccb3d05af DEBUG util.py:445: Openstack-Request-Id: req-12f82e8b-3858-44ca-9759-685d41ad96b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "625c8dcf-a6f8-4d44-91b9-53cccb3d05af", "created_at": "2023-10-12T03:27:21.175585+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/625c8dcf-a6f8-4d44-91b9-53cccb3d05af", "rel": "self"}, {"href": "http://localhost/portgroups/625c8dcf-a6f8-4d44-91b9-53cccb3d05af", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/625c8dcf-a6f8-4d44-91b9-53cccb3d05af/ports", "rel": "self"}, {"href": "http://localhost/portgroups/625c8dcf-a6f8-4d44-91b9-53cccb3d05af/ports", "rel": "bookmark"}]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00109_portgroups_post_admin [0.413704s] ... 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-38c1b397-e983-4daa-ade3-387146e3eb24 DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.72"}]} 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-1e4c4802-2c51-42be-8554-9bab0aad8adf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72"}, "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-1e4c4802-2c51-42be-8554-9bab0aad8adf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.72"}, "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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a9b0db0-f54d-4887-8f7d-8f05d9bdc76f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2a9b0db0-f54d-4887-8f7d-8f05d9bdc76f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-842b1093-a80d-476d-b6cd-28580ad9a66c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-842b1093-a80d-476d-b6cd-28580ad9a66c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5e571b1f-d3c4-4f27-8e7d-03a628a542d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:21.255066+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-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, "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_00005_nodes_get_node_admin [0.194358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00009_nodes_get_admin [0.197778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00092_nodes_vifs_get_member [0.343140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00156_portgroups_ports_get_observer [0.550935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00111_portgroups_post_observer [0.456960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00093_nodes_vifs_get_observer [0.209045s] ... 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-5e571b1f-d3c4-4f27-8e7d-03a628a542d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:21.255066+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-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, "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-f069c325-6617-4f3a-af0f-eb53c37e3478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-f069c325-6617-4f3a-af0f-eb53c37e3478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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 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-30a3540c-456e-4c3c-8396-a3a156a45274 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:21.633301+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-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, "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": "2023-10-12T03:27:21.635704+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-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, "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": "91fd0583-4985-4d86-8cbd-9ac43f53dd69", "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": "2023-10-12T03:27:21.686250+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": "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/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.199578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00095_nodes_vifs_post_member [0.092912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00101_nodes_management_indicators_get_member [0.090495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00157_portgroups_ports_detail_get_admin [0.432518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00116_portgroups_portgroup_ident_get_member [0.395043s] ... 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-30a3540c-456e-4c3c-8396-a3a156a45274 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:27:21.633301+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-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, "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": "2023-10-12T03:27:21.635704+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-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, "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": "91fd0583-4985-4d86-8cbd-9ac43f53dd69", "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": "2023-10-12T03:27:21.686250+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": "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/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: 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-4e74e629-5035-4230-8cae-bc81698aea9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00020_nodes_node_ident_delete_admin [0.241183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.194927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00102_nodes_management_indicators_get_observer [0.223507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00161_volume_get_member [0.295924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.191828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00118_portgroups_portgroup_ident_patch_admin [0.380585s] ... 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-5943c9fa-62d2-40bb-ba37-b4624250f441 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-329eecca-cd82-4fd8-aa56-3f616292d623 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-329eecca-cd82-4fd8-aa56-3f616292d623 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a3a35c93-7e27-4fc2-beba-9d28a5828b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a3a35c93-7e27-4fc2-beba-9d28a5828b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-063cbefc-43be-4c94-8cf6-76fdfb7d8dac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-063cbefc-43be-4c94-8cf6-76fdfb7d8dac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e2e62f1-9760-42e2-b404-aa4f6575d39c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e2e62f1-9760-42e2-b404-aa4f6575d39c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-7474561a-caa5-468c-86b0-26dac295aebf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-7474561a-caa5-468c-86b0-26dac295aebf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b57e4051-1edc-458b-9435-decd241a5aeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-b57e4051-1edc-458b-9435-decd241a5aeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e164d5ca-aabf-4007-9943-21adf48d7bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e164d5ca-aabf-4007-9943-21adf48d7bbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2afe7215-bf33-4867-87d0-42372aab7884 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2afe7215-bf33-4867-87d0-42372aab7884 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00108_portgroups_get_observer [0.241135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.245114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00170_volume_volume_connector_id_get_member [0.362593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00112_portgroups_detail_get_admin [0.252770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00126_nodes_portgroups_get_observer [0.366782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00045_nodes_states_get_member [0.181646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00052_nodes_states_provision_put_observer [0.097258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00173_volume_volume_connector_id_patch_member [0.279568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00115_portgroups_portgroup_ident_get_admin [0.252633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00053_nodes_states_raid_put_admin [0.204921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00140_ports_port_id_get_member [0.364268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00117_portgroups_portgroup_ident_get_observer [0.307976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00054_nodes_states_raid_put_member [0.201261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00119_portgroups_portgroup_ident_patch_member [0.113079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00177_volume_volume_connector_id_delete_observer [0.478959s] ... 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-4e74e629-5035-4230-8cae-bc81698aea9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7815d8ec-b43b-4b8a-9349-05dd31c261b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7815d8ec-b43b-4b8a-9349-05dd31c261b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f0518e91-f7a3-494d-abdd-f50e3322cac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f0518e91-f7a3-494d-abdd-f50e3322cac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-efee73a9-1a23-4f45-b1e5-8ccd3738cbcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-efee73a9-1a23-4f45-b1e5-8ccd3738cbcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b6bd79e9-d6aa-4a3e-a9b2-815ed19cc59d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-b6bd79e9-d6aa-4a3e-a9b2-815ed19cc59d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a43e8ddd-0830-4d17-b54a-0e55be4ef71b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a43e8ddd-0830-4d17-b54a-0e55be4ef71b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-00babce7-9566-4817-a8d7-d8136f26544c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-00babce7-9566-4817-a8d7-d8136f26544c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-317271ba-e25b-49d3-90cd-52996e13c189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-317271ba-e25b-49d3-90cd-52996e13c189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-beb348d7-fa37-4dd9-a851-20513896078b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-beb348d7-fa37-4dd9-a851-20513896078b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00057_nodes_states_console_get_member [0.121665s] ... ok 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-c8ea7b4c-13a1-4d2c-bf18-460adda5f082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:22.576775+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-c8ea7b4c-13a1-4d2c-bf18-460adda5f082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:22.576775+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-3ab0c9e9-11bd-4398-8140-26536e991e5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:22.852627+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-3ab0c9e9-11bd-4398-8140-26536e991e5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:22.852627+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-f93c7e3a-5fbf-4296-a107-ea2a0c006c50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:23.019008+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-f93c7e3a-5fbf-4296-a107-ea2a0c006c50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:23.019008+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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc1937db-a612-4524-954f-a4c72571eb18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cc1937db-a612-4524-954f-a4c72571eb18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eaf33db2-1c44-41dc-97ef-107ac7785e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eaf33db2-1c44-41dc-97ef-107ac7785e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00122_portgroups_portgroup_ident_delete_member [0.145066s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00129_nodes_portgroups_detail_get_observer [0.107585s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00058_nodes_states_console_put_admin [0.131173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00131_ports_get_member [0.084306s] ... ok 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/625c8dcf-a6f8-4d44-91b9-53cccb3d05af DEBUG util.py:445: Openstack-Request-Id: req-12f82e8b-3858-44ca-9759-685d41ad96b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "625c8dcf-a6f8-4d44-91b9-53cccb3d05af", "created_at": "2023-10-12T03:27:21.175585+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/625c8dcf-a6f8-4d44-91b9-53cccb3d05af", "rel": "self"}, {"href": "http://localhost/portgroups/625c8dcf-a6f8-4d44-91b9-53cccb3d05af", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/625c8dcf-a6f8-4d44-91b9-53cccb3d05af/ports", "rel": "self"}, {"href": "http://localhost/portgroups/625c8dcf-a6f8-4d44-91b9-53cccb3d05af/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-f9d9333f-e427-4199-917d-e3e5eb7bbfea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f9d9333f-e427-4199-917d-e3e5eb7bbfea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-86dfeefc-0d0a-4542-8d30-ed085175e471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-86dfeefc-0d0a-4542-8d30-ed085175e471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a30168a7-345b-4665-b0e7-2ea0d2fd6025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a30168a7-345b-4665-b0e7-2ea0d2fd6025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9ce79c13-4f98-4a18-90a8-b525dff283fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9ce79c13-4f98-4a18-90a8-b525dff283fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-d44d905d-7d6a-4161-a421-92bb377307ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d44d905d-7d6a-4161-a421-92bb377307ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fda8ed4c-11fa-40b6-b43a-1a433f3d14ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:23.312049+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-fda8ed4c-11fa-40b6-b43a-1a433f3d14ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:23.312049+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.TestRBACModelBeforeScopes.test_rbac_legacy_00141_ports_port_id_get_observer [0.500593s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00059_nodes_states_console_put_member [0.226862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00135_ports_post_observer [0.080896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00137_ports_detail_get_member [0.069676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00178_volume_targets_get_admin [0.507060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00142_ports_port_id_patch_admin [0.118354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00060_nodes_states_console_put_observer [0.208572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00144_ports_port_id_patch_observer [0.393541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00061_nodes_vendor_passthru_methods_get_admin [0.241433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00185_volume_volume_target_id_get_member [0.363091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00149_nodes_ports_get_member [0.400705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00077_nodes_traits_get_member [0.242806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00147_ports_port_id_delete_observer [0.447912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00083_nodes_traits_delete_member [0.177421s] ... ok 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-3bf16bc9-2fc7-4c1b-abd0-ce72fe415b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3bf16bc9-2fc7-4c1b-abd0-ce72fe415b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cde6451a-f19c-48db-bbb0-0e08c9c7252c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cde6451a-f19c-48db-bbb0-0e08c9c7252c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d954435c-8109-4d54-8680-ba7ed751f69f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d954435c-8109-4d54-8680-ba7ed751f69f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aa28fc0c-4c07-4361-8889-e855dbfcf785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aa28fc0c-4c07-4361-8889-e855dbfcf785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c3cc3cc7-07d0-436c-9975-048c380997d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c3cc3cc7-07d0-436c-9975-048c380997d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dcd26ca-f6ed-4fa0-b91f-a48cf5becb2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6dcd26ca-f6ed-4fa0-b91f-a48cf5becb2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1e38cde7-c5b1-4125-a7f9-65342f890a8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1e38cde7-c5b1-4125-a7f9-65342f890a8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6ee268bb-bfbe-4f68-8432-1f9041306339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6ee268bb-bfbe-4f68-8432-1f9041306339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dae3ee37-ce72-4e88-a50b-9e2d97b6cf73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dae3ee37-ce72-4e88-a50b-9e2d97b6cf73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00192_volume_volume_target_id_delete_observer [0.400556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00159_portgroups_ports_detail_get_observer [0.334055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00193_nodes_volume_get_admin [0.219781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00096_nodes_vifs_post_observer [0.264649s] ... 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-2b32ed61-8ce5-497c-a625-8e0e02368b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:23.583414+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-2b32ed61-8ce5-497c-a625-8e0e02368b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:23.583414+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1dd27752-42ee-46a1-97c7-04992a725959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1dd27752-42ee-46a1-97c7-04992a725959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-23bdb201-253f-4f72-a9c8-1a4b4116dddb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-23bdb201-253f-4f72-a9c8-1a4b4116dddb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89f23a5e-9041-46b7-b184-e24b29db9501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89f23a5e-9041-46b7-b184-e24b29db9501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d42b826-e45a-4177-bdfc-9847832aee05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0d42b826-e45a-4177-bdfc-9847832aee05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-83730d84-7898-4238-aa09-dbe61d39bced DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-83730d84-7898-4238-aa09-dbe61d39bced DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-cebde372-3df1-4436-a280-c8f14b4a7565 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:24.579663+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-cebde372-3df1-4436-a280-c8f14b4a7565 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:24.579663+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}]}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00151_nodes_ports_detail_get_admin [0.503430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00168_volume_connectors_post_observer [0.198255s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00194_nodes_volume_get_member [0.183946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00152_nodes_ports_detail_get_member [0.299949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00104_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.TestRBACModelBeforeScopes.test_rbac_legacy_00171_volume_volume_connector_id_get_observer [0.252356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00200_nodes_volume_targets_get_member [0.220995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00105_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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00162_volume_get_observer [0.306065s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00179_volume_targets_get_member [0.248142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00106_portgroups_get_admin [0.304762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00201_nodes_volume_targets_get_observer [0.458989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00163_volume_connectors_get_admin [0.308997s] ... 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-b29500bc-129e-4b32-8c9c-57ccb51f5ea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b29500bc-129e-4b32-8c9c-57ccb51f5ea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62b08181-f36f-4020-88ab-9603f0e129cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-62b08181-f36f-4020-88ab-9603f0e129cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b77c117f-c255-42d7-bd58-c2769d6881f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b77c117f-c255-42d7-bd58-c2769d6881f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-37c5f572-7f5a-4386-9e7e-1c414a103000 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-37c5f572-7f5a-4386-9e7e-1c414a103000 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2af7db46-9494-4514-834a-de9a90753012 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-2af7db46-9494-4514-834a-de9a90753012 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f297898a-6832-4e62-a47c-f2d73700173d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-f297898a-6832-4e62-a47c-f2d73700173d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c333cdc6-6bcf-421b-932d-56c8404f552c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c333cdc6-6bcf-421b-932d-56c8404f552c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-46131e1d-0cbe-489a-92bc-18f71d716a05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-46131e1d-0cbe-489a-92bc-18f71d716a05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-9103a1f1-5d7a-4388-a8e4-5acfae3174c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00107_portgroups_get_member [0.285245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00204_drivers_get_observer [0.311343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00164_volume_connectors_get_member [0.324284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00110_portgroups_post_member [0.329438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00207_drivers_driver_name_get_observer [0.285256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00182_volume_targets_post_member [0.877024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00167_volume_connectors_post_member [0.338797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00114_portgroups_detail_get_observer [0.314070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00212_drivers_raid_logical_disk_properties_get_member [0.246799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00169_volume_volume_connector_id_get_admin [0.282821s] ... 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-906067e0-b2f5-400d-8993-12b0f545dad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-906067e0-b2f5-400d-8993-12b0f545dad6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-480e27b7-4705-41d8-9deb-801be1c18280 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-480e27b7-4705-41d8-9deb-801be1c18280 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8a6d825a-2f91-4017-9b39-0e3d815f5345 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8a6d825a-2f91-4017-9b39-0e3d815f5345 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": []} 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-cd3ef3fe-3fa5-4be8-bf52-49e20795c6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cd3ef3fe-3fa5-4be8-bf52-49e20795c6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-49bd0e07-5b15-4245-8805-297cc55375b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:25.137147+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-49bd0e07-5b15-4245-8805-297cc55375b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:25.137147+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b26fb066-3281-4727-8868-48384706f7af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b26fb066-3281-4727-8868-48384706f7af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0e06017c-33d1-4d62-ad96-e7dd6f221cf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0e06017c-33d1-4d62-ad96-e7dd6f221cf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3cad509-9bcc-4bf8-9f03-779b944f007d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e3cad509-9bcc-4bf8-9f03-779b944f007d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00188_volume_volume_target_id_patch_member [0.300338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00202_drivers_get_admin [0.352117s] ... ok 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-692efe5f-1d4d-45a2-b260-a88c122cab81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-692efe5f-1d4d-45a2-b260-a88c122cab81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e866ee2-3b86-4289-89f7-023fa5098d6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e866ee2-3b86-4289-89f7-023fa5098d6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-94cccb78-8285-4031-a6cc-f93a0e499db2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-94cccb78-8285-4031-a6cc-f93a0e499db2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-47c6f573-d348-42db-ba93-88048fda122c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-47c6f573-d348-42db-ba93-88048fda122c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-671d4fa2-a9f5-42ea-8f43-00199105973f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-671d4fa2-a9f5-42ea-8f43-00199105973f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b1019a8e-d859-473f-9984-c2982bfd42fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b1019a8e-d859-473f-9984-c2982bfd42fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-48455952-a579-49f5-997d-46974bdfc325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-48455952-a579-49f5-997d-46974bdfc325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c00d51e8-88eb-48a7-9ff4-54a9a31b70c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00216_drivers_vendor_passthru_methods_get_observer [0.336970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00223_drivers_vendor_passthru_put_admin [0.237368s] ... 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dfff229-0d69-47e5-a3d7-349361bd4cb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-6dfff229-0d69-47e5-a3d7-349361bd4cb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-099861be-b3b8-4709-9cf2-e64616b09922 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-099861be-b3b8-4709-9cf2-e64616b09922 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e2b8097-f121-4336-b04c-c7ecf360172f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e2b8097-f121-4336-b04c-c7ecf360172f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2020742e-efd5-4cfd-a46f-e4f28f1aac6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2020742e-efd5-4cfd-a46f-e4f28f1aac6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-373ac52e-c2fa-4487-afb1-d6de0a2e7fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-373ac52e-c2fa-4487-afb1-d6de0a2e7fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6c01da3f-0f15-41e5-a539-2d8862909f2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:26.573414+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-6c01da3f-0f15-41e5-a539-2d8862909f2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:26.573414+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-5a21fb15-f7bd-4fbc-91b8-6902e9ab1d9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5a21fb15-f7bd-4fbc-91b8-6902e9ab1d9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00172_volume_volume_connector_id_patch_admin [0.378532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00219_drivers_vendor_passthru_get_observer [0.209252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00224_drivers_vendor_passthru_put_member [0.109822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00229_nodes_bios_get_member [0.093373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00120_portgroups_portgroup_ident_patch_observer [0.821468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00175_volume_volume_connector_id_delete_admin [0.316901s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00231_nodes_bios_bios_setting_get_admin [0.089878s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00222_drivers_vendor_passthru_post_observer [0.282678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00233_nodes_bios_bios_setting_get_observer [0.100607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00247_allocations_allocation_id_get_member [0.097965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00227_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00183_volume_targets_post_observer [0.310655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00123_portgroups_portgroup_ident_delete_observer [0.361572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00251_allocations_allocation_id_patch_observer [0.081667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00230_nodes_bios_get_observer [0.273415s] ... 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-c00d51e8-88eb-48a7-9ff4-54a9a31b70c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-77ef2144-aec9-4e63-a53f-58db7459a179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-77ef2144-aec9-4e63-a53f-58db7459a179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5b55c474-b3e5-4ff1-b45f-bd33e17623f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5b55c474-b3e5-4ff1-b45f-bd33e17623f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3750f769-4582-4e24-b56a-782b9997063c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-3750f769-4582-4e24-b56a-782b9997063c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-99b3fa00-3245-4d12-a5b4-cfdfeae28f0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:27:27.460930+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-99b3fa00-3245-4d12-a5b4-cfdfeae28f0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:27:27.460930+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-581c1437-1c00-444e-969c-7a48f5c02878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:27:27.554439+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-581c1437-1c00-444e-969c-7a48f5c02878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:27:27.554439+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/allocations/87ee8a2c-46d5-4508-8b6c-048f1efd9db4 DEBUG util.py:445: GET: /v1/allocations/87ee8a2c-46d5-4508-8b6c-048f1efd9db4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87848ae5-9aa5-4cb3-932a-6b79bc53f677 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 87ee8a2c-46d5-4508-8b6c-048f1efd9db4 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-87848ae5-9aa5-4cb3-932a-6b79bc53f677 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 87ee8a2c-46d5-4508-8b6c-048f1efd9db4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/dc5558e6-6762-4968-909d-f446940915ed DEBUG util.py:445: PATCH: /v1/allocations/dc5558e6-6762-4968-909d-f446940915ed [{'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-bc2d530f-df21-4d53-b9d0-af913809dfcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bc2d530f-df21-4d53-b9d0-af913809dfcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/c403c252-bbe4-4504-8195-f19d983004a1 DEBUG util.py:445: DELETE: /v1/allocations/c403c252-bbe4-4504-8195-f19d983004a1 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1603da1-b2c8-4358-aebe-45d18c13047f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00254_allocations_allocation_id_delete_observer [0.252422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00186_volume_volume_target_id_get_observer [0.344955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00125_nodes_portgroups_get_member [0.344924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00232_nodes_bios_bios_setting_get_member [0.236990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00255_nodes_allocation_get_admin [0.225400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00235_conductors_get_member [0.108754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00239_conductors_hostname_get_observer [0.124008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00128_nodes_portgroups_detail_get_member [0.351731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00189_volume_volume_target_id_patch_observer [0.416353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00257_nodes_allocation_get_observer [0.312080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00240_allocations_post_admin [0.145231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00258_nodes_allocation_delete_admin [0.180192s] ... 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-9103a1f1-5d7a-4388-a8e4-5acfae3174c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-397b3722-c718-48b6-a703-c6f0017ae5a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-397b3722-c718-48b6-a703-c6f0017ae5a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-85c48263-3558-4ae2-bec3-2e5d51073d0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:26.501616+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-85c48263-3558-4ae2-bec3-2e5d51073d0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:26.501616+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-126c5979-92f7-4694-a6a0-94c1611f3503 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-126c5979-92f7-4694-a6a0-94c1611f3503 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-39743310-0525-48ca-bdf4-8d5de6104985 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-39743310-0525-48ca-bdf4-8d5de6104985 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-83a5d114-640f-467e-9ef1-29d4da7cd130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-83a5d114-640f-467e-9ef1-29d4da7cd130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d5286c7a-fb5d-40eb-958d-ef27d84c08d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-d5286c7a-fb5d-40eb-958d-ef27d84c08d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6795cba7-584d-43cf-8294-519756bf2dda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6795cba7-584d-43cf-8294-519756bf2dda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00130_ports_get_admin [0.316806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00190_volume_volume_target_id_delete_admin [0.366996s] ... ok 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-b06a5902-65d2-4a35-afa3-dcb83b078638 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b06a5902-65d2-4a35-afa3-dcb83b078638 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"drivers": []} 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-a0327cea-257a-4ab9-ac7e-300c9cf7d989 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a0327cea-257a-4ab9-ac7e-300c9cf7d989 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8e4f2074-4c7e-4114-996a-3f894542dd7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8e4f2074-4c7e-4114-996a-3f894542dd7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aaeb6acc-6324-41cb-a480-59d1f6a9ecaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:27:27.893366+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-aaeb6acc-6324-41cb-a480-59d1f6a9ecaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:27:27.893366+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-7bbb0a9d-fd9a-47ec-9990-2d8e2f1f8081 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-7bbb0a9d-fd9a-47ec-9990-2d8e2f1f8081 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-5fe5c641-ebd4-4055-83ae-c9583fc69394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5fe5c641-ebd4-4055-83ae-c9583fc69394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-58b8ce58-48c4-4cd8-a704-9837dbee8a8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:27:28.403152+00:00", "updated_at": "2023-10-12T03:27:28.404440+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-58b8ce58-48c4-4cd8-a704-9837dbee8a8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:27:28.403152+00:00", "updated_at": "2023-10-12T03:27:28.404440+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-a1a4dbd9-2391-41e4-9003-320072e86107 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a1a4dbd9-2391-41e4-9003-320072e86107 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-27d8ca73-63c4-49b5-b1cd-0119f344f5f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "c961d544-592b-4a90-826e-48038afbccca", "created_at": "2023-10-12T03:27:28.665002+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c961d544-592b-4a90-826e-48038afbccca", "rel": "self"}, {"href": "http://localhost/allocations/c961d544-592b-4a90-826e-48038afbccca", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00243_allocations_get_admin [0.228586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00260_nodes_allocation_delete_observer [0.228127s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00244_allocations_get_member [0.257008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00261_deploy_templates_post_admin [0.196283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00132_ports_get_observer [0.350934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00195_nodes_volume_get_observer [0.303539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00248_allocations_allocation_id_get_observer [0.226065s] ... 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5ebc210-3f2b-428b-9f7c-67b26c1627b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d5ebc210-3f2b-428b-9f7c-67b26c1627b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-a6aa3482-a16d-43fb-aca8-257a618cdcae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a6aa3482-a16d-43fb-aca8-257a618cdcae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bf369a31-5730-4dd2-9248-08ed667389b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:27.948561+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-bf369a31-5730-4dd2-9248-08ed667389b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:27.948561+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: 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-3e5de131-150c-4623-a29d-2b15b25a4524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3e5de131-150c-4623-a29d-2b15b25a4524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d10fe79d-1509-4642-8afb-f92dae6a5e49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d10fe79d-1509-4642-8afb-f92dae6a5e49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-83416f9a-4e61-4c11-a12c-677b453d8cae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-83416f9a-4e61-4c11-a12c-677b453d8cae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-eb02e329-6ac8-4bca-8471-a266995bb557 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}]}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00198_nodes_volume_connectors_get_observer [0.273715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00136_ports_detail_get_admin [0.315442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00253_allocations_allocation_id_delete_member [0.238246s] ... 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-c1603da1-b2c8-4358-aebe-45d18c13047f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eeb95fe6-7315-4542-ad87-c54b83af9bed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "50dcc890-08b7-4880-bc1c-fbc5bc5fd354", "created_at": "2023-10-12T03:27:28.099325+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/50dcc890-08b7-4880-bc1c-fbc5bc5fd354", "rel": "self"}, {"href": "http://localhost/allocations/50dcc890-08b7-4880-bc1c-fbc5bc5fd354", "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-eeb95fe6-7315-4542-ad87-c54b83af9bed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "50dcc890-08b7-4880-bc1c-fbc5bc5fd354", "created_at": "2023-10-12T03:27:28.099325+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/50dcc890-08b7-4880-bc1c-fbc5bc5fd354", "rel": "self"}, {"href": "http://localhost/allocations/50dcc890-08b7-4880-bc1c-fbc5bc5fd354", "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-bf889979-101d-483c-9edc-e8301477226b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3c9dacfc-b2fb-4bb2-be3d-5571f44f4d7d", "created_at": "2023-10-12T03:27:28.332475+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3c9dacfc-b2fb-4bb2-be3d-5571f44f4d7d", "rel": "self"}, {"href": "http://localhost/allocations/3c9dacfc-b2fb-4bb2-be3d-5571f44f4d7d", "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-bf889979-101d-483c-9edc-e8301477226b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3c9dacfc-b2fb-4bb2-be3d-5571f44f4d7d", "created_at": "2023-10-12T03:27:28.332475+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3c9dacfc-b2fb-4bb2-be3d-5571f44f4d7d", "rel": "self"}, {"href": "http://localhost/allocations/3c9dacfc-b2fb-4bb2-be3d-5571f44f4d7d", "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-e7c80bb7-a006-4ef2-93ca-8a97526825e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e7c80bb7-a006-4ef2-93ca-8a97526825e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e7bf02b6-72b5-4385-a51b-8f07ac18774b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e7bf02b6-72b5-4385-a51b-8f07ac18774b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/686b081b-a51a-400e-ba4e-fd3078a6a4aa DEBUG util.py:445: Openstack-Request-Id: req-05560dd1-fb63-4799-9f5a-ef76914b138f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "686b081b-a51a-400e-ba4e-fd3078a6a4aa", "created_at": "2023-10-12T03:27:29.190329+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/686b081b-a51a-400e-ba4e-fd3078a6a4aa", "rel": "self"}, {"href": "http://localhost/deploy_templates/686b081b-a51a-400e-ba4e-fd3078a6a4aa", "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/686b081b-a51a-400e-ba4e-fd3078a6a4aa DEBUG util.py:445: Openstack-Request-Id: req-05560dd1-fb63-4799-9f5a-ef76914b138f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "686b081b-a51a-400e-ba4e-fd3078a6a4aa", "created_at": "2023-10-12T03:27:29.190329+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/686b081b-a51a-400e-ba4e-fd3078a6a4aa", "rel": "self"}, {"href": "http://localhost/deploy_templates/686b081b-a51a-400e-ba4e-fd3078a6a4aa", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/dc56a237-5040-4e3f-ba6c-7ced84e49648 DEBUG util.py:445: GET: /v1/deploy_templates/dc56a237-5040-4e3f-ba6c-7ced84e49648 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3564656c-57b0-40a6-92ad-2023bd92648c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "dc56a237-5040-4e3f-ba6c-7ced84e49648", "created_at": "2023-10-12T03:27:29.289567+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dc56a237-5040-4e3f-ba6c-7ced84e49648", "rel": "self"}, {"href": "http://localhost/deploy_templates/dc56a237-5040-4e3f-ba6c-7ced84e49648", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00269_deploy_templates_deploy_template_id_get_observer [0.217349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00275_deploy_templates_deploy_template_id_delete_observer [0.255232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00263_deploy_templates_post_observer [0.158640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00138_ports_detail_get_observer [0.250417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00203_drivers_get_member [0.269637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00276_chassis_post_admin [0.181417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00265_deploy_templates_get_member [0.157748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00139_ports_port_id_get_admin [0.217042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00267_deploy_templates_deploy_template_id_get_admin [0.109393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00205_drivers_driver_name_get_admin [0.271887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00279_chassis_get_admin [0.207528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00143_ports_port_id_patch_member [0.162710s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00280_chassis_get_member [0.209381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00206_drivers_driver_name_get_member [0.292021s] ... 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-27d8ca73-63c4-49b5-b1cd-0119f344f5f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "c961d544-592b-4a90-826e-48038afbccca", "created_at": "2023-10-12T03:27:28.665002+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c961d544-592b-4a90-826e-48038afbccca", "rel": "self"}, {"href": "http://localhost/allocations/c961d544-592b-4a90-826e-48038afbccca", "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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a3cf12f-6e35-4111-8ded-84f845cf9c2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2a3cf12f-6e35-4111-8ded-84f845cf9c2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/b73216fe-e6cf-48f5-941f-b048414f8fe6 DEBUG util.py:445: GET: /v1/allocations/b73216fe-e6cf-48f5-941f-b048414f8fe6 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4438e17-3382-4e2e-b416-6d888615cec3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "b73216fe-e6cf-48f5-941f-b048414f8fe6", "created_at": "2023-10-12T03:27:29.175158+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b73216fe-e6cf-48f5-941f-b048414f8fe6", "rel": "self"}, {"href": "http://localhost/allocations/b73216fe-e6cf-48f5-941f-b048414f8fe6", "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-f4438e17-3382-4e2e-b416-6d888615cec3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "b73216fe-e6cf-48f5-941f-b048414f8fe6", "created_at": "2023-10-12T03:27:29.175158+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b73216fe-e6cf-48f5-941f-b048414f8fe6", "rel": "self"}, {"href": "http://localhost/allocations/b73216fe-e6cf-48f5-941f-b048414f8fe6", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/04c12fd2-bde0-454f-a68c-adc95d09b065 DEBUG util.py:445: DELETE: /v1/allocations/04c12fd2-bde0-454f-a68c-adc95d09b065 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce426604-ae29-48aa-8335-8d62715abe65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 04c12fd2-bde0-454f-a68c-adc95d09b065 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-ce426604-ae29-48aa-8335-8d62715abe65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 04c12fd2-bde0-454f-a68c-adc95d09b065 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-19a68324-a50f-4716-8510-4f067e09d758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-19a68324-a50f-4716-8510-4f067e09d758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ec652ea-f925-4449-94f6-56b6ba8c2bc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1ec652ea-f925-4449-94f6-56b6ba8c2bc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/4cb724ef-9a8f-4978-a3bf-9f59da88ab65 DEBUG util.py:445: GET: /v1/deploy_templates/4cb724ef-9a8f-4978-a3bf-9f59da88ab65 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d34a7f09-b5c1-45cf-9a9f-8c9aa9c01f8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "4cb724ef-9a8f-4978-a3bf-9f59da88ab65", "created_at": "2023-10-12T03:27:29.934845+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4cb724ef-9a8f-4978-a3bf-9f59da88ab65", "rel": "self"}, {"href": "http://localhost/deploy_templates/4cb724ef-9a8f-4978-a3bf-9f59da88ab65", "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-d34a7f09-b5c1-45cf-9a9f-8c9aa9c01f8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "4cb724ef-9a8f-4978-a3bf-9f59da88ab65", "created_at": "2023-10-12T03:27:29.934845+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4cb724ef-9a8f-4978-a3bf-9f59da88ab65", "rel": "self"}, {"href": "http://localhost/deploy_templates/4cb724ef-9a8f-4978-a3bf-9f59da88ab65", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} 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-ad3db338-9109-477e-8a0a-127ba90fe910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:30.050645+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]}{1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00284_chassis_detail_get_observer [0.138374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00285_chassis_chassis_id_get_admin [0.179638s] ... 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-598e22d1-efe5-4608-a736-3789285eee76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-598e22d1-efe5-4608-a736-3789285eee76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c228bc59-dc27-45c6-b5b4-bae33d1abb21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:29.347345+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-c228bc59-dc27-45c6-b5b4-bae33d1abb21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:29.347345+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-7369bc7e-6ecf-4940-8e52-75ebfc8e4f84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:29.643153+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-7369bc7e-6ecf-4940-8e52-75ebfc8e4f84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:29.643153+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-82eab90a-6d81-4adf-91bb-eda096079298 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:29.858218+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-82eab90a-6d81-4adf-91bb-eda096079298 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:29.858218+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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb0aa2a8-a83e-47b9-9747-82e047c1cd43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fb0aa2a8-a83e-47b9-9747-82e047c1cd43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00145_ports_port_id_delete_admin [0.089418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00146_ports_port_id_delete_member [0.149897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00148_nodes_ports_get_admin [0.095723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00292_chassis_chassis_id_delete_member [0.210451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00209_drivers_properties_get_member [0.203198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00281_chassis_get_observer [0.316752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00153_nodes_ports_detail_get_observer [0.141242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00002_owner_admin_cannot_post_nodes [0.168077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00215_drivers_vendor_passthru_methods_get_member [0.197991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00154_portgroups_ports_get_admin [0.141212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00283_chassis_detail_get_member [0.216219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00013_third_party_admin_cannot_get_node [0.190522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00218_drivers_vendor_passthru_get_member [0.222530s] ... 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-3564656c-57b0-40a6-92ad-2023bd92648c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "dc56a237-5040-4e3f-ba6c-7ced84e49648", "created_at": "2023-10-12T03:27:29.289567+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/dc56a237-5040-4e3f-ba6c-7ced84e49648", "rel": "self"}, {"href": "http://localhost/deploy_templates/dc56a237-5040-4e3f-ba6c-7ced84e49648", "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/46dd1f7c-0bca-4e01-abb7-dfe8f4a79a4f DEBUG util.py:445: DELETE: /v1/deploy_templates/46dd1f7c-0bca-4e01-abb7-dfe8f4a79a4f DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-531a5247-93c7-45e6-a481-bd8fa5d7bd0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-531a5247-93c7-45e6-a481-bd8fa5d7bd0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/c27b39ba-58b0-47fe-8de6-c0562e2b2931 DEBUG util.py:445: Openstack-Request-Id: req-dcdfbbe1-0ece-4b33-86e0-f25942fd3c99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c27b39ba-58b0-47fe-8de6-c0562e2b2931", "created_at": "2023-10-12T03:27:29.845281+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931", "rel": "self"}, {"href": "http://localhost/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931/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/c27b39ba-58b0-47fe-8de6-c0562e2b2931 DEBUG util.py:445: Openstack-Request-Id: req-dcdfbbe1-0ece-4b33-86e0-f25942fd3c99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c27b39ba-58b0-47fe-8de6-c0562e2b2931", "created_at": "2023-10-12T03:27:29.845281+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931", "rel": "self"}, {"href": "http://localhost/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931/nodes", "rel": "self"}, {"href": "http://localhost/chassis/c27b39ba-58b0-47fe-8de6-c0562e2b2931/nodes", "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-23389b04-fd66-45e2-aa13-8530da9e411f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-23389b04-fd66-45e2-aa13-8530da9e411f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fa68642-d32e-4193-a4be-de0930815cd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6fa68642-d32e-4193-a4be-de0930815cd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7f437781-faf6-47c5-84f5-8906c8e77b6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7f437781-faf6-47c5-84f5-8906c8e77b6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-787ec360-49dd-4edc-ba3d-45b701bab3e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-787ec360-49dd-4edc-ba3d-45b701bab3e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-de993bd3-1772-4e16-914b-6dbc7791b53e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:30.908785+00:00", "updated_at": "2023-10-12T03:27:31.003176+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"}]]}{0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00288_chassis_chassis_id_patch_admin [0.207183s] ... 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-ad3db338-9109-477e-8a0a-127ba90fe910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:30.050645+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-d588c897-b31e-4543-893a-9407256331ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:30.217557+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-d588c897-b31e-4543-893a-9407256331ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:30.217557+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-92699e89-9ad1-45e1-967a-54979fa12628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-92699e89-9ad1-45e1-967a-54979fa12628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2f9fec4c-5cce-4b59-bce0-734eee83b88e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-2f9fec4c-5cce-4b59-bce0-734eee83b88e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-c74dcbdb-a8fb-4b67-a0ad-71f7aeced7f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c74dcbdb-a8fb-4b67-a0ad-71f7aeced7f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ba249673-1589-4b0c-bcf0-53f3ca6d229a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-10-12T03:27:30.992856+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": {"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"}, "instance_uuid": null, "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, "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": "109faf0a-7888-497c-b529-07356b87417d", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00016_lessee_reader_can_get_their_node [0.212842s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00158_portgroups_ports_detail_get_member [0.276162s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00290_chassis_chassis_id_patch_observer [0.292385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00228_nodes_bios_get_admin [0.323016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00160_volume_get_admin [0.251021s] ... 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-ba249673-1589-4b0c-bcf0-53f3ca6d229a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-10-12T03:27:30.992856+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": {"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"}, "instance_uuid": null, "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, "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": "109faf0a-7888-497c-b529-07356b87417d", "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/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-ceb0abd9-6709-4eb6-83ce-3b416ad3b85d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-10-12T03:27:31.163864+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": "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, "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-ceb0abd9-6709-4eb6-83ce-3b416ad3b85d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-10-12T03:27:31.163864+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": "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, "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_00019_owner_reader_can_get_restricted_fields [0.136248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00020_lessee_reader_cannot_get_restricted_fields [0.096344s] ... 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: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eb02e329-6ac8-4bca-8471-a266995bb557 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-baa7a0a7-b32b-4797-9b1a-f832e54e18fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-baa7a0a7-b32b-4797-9b1a-f832e54e18fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-2669951d-f729-492a-ad89-79687cb9db7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2669951d-f729-492a-ad89-79687cb9db7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-223bb352-867d-4419-a959-95e6cfd303e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-223bb352-867d-4419-a959-95e6cfd303e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2685ed54-9e1c-40f1-aa33-5d0797edaa35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2685ed54-9e1c-40f1-aa33-5d0797edaa35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-f9dd7c6b-cb67-4b63-b9ab-2069e2b29431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f9dd7c6b-cb67-4b63-b9ab-2069e2b29431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9494f2cf-4227-46d1-b3d1-415550177e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9494f2cf-4227-46d1-b3d1-415550177e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3796b4a2-17d4-4912-820c-b6a434290131 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:27:31.102601+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-3796b4a2-17d4-4912-820c-b6a434290131 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:27:31.102601+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 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-9a119462-b057-4fd9-94a6-4b0a7bf5d891 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9a119462-b057-4fd9-94a6-4b0a7bf5d891 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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}]}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00234_conductors_get_admin [0.144814s] ... ok 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-32be3633-53c7-40f7-b47f-732c53df0a93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-10-12T03:27:31.282504+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": {"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"}, "instance_uuid": null, "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, "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": "1af301c0-594c-4e92-b4a2-7a74ba3f3c52", "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-32be3633-53c7-40f7-b47f-732c53df0a93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-10-12T03:27:31.282504+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": {"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"}, "instance_uuid": null, "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, "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": "1af301c0-594c-4e92-b4a2-7a74ba3f3c52", "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/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-a7ecb2ed-d619-4306-b2fb-0a2c923d438a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-10-12T03:27:31.361320+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": {"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"}, "instance_uuid": null, "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, "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": "076b44c8-eac6-483d-af69-347e7f2ae9ff", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00022_lessee_reader_can_get_detail [0.164773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00237_conductors_hostname_get_admin [0.136900s] ... 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-790ba3a8-5163-4d26-9c85-226cf141fb5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-790ba3a8-5163-4d26-9c85-226cf141fb5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5b81f53-3fec-485b-af43-42583aab4fdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c5b81f53-3fec-485b-af43-42583aab4fdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dfc1b2a1-fd2f-4a9e-b287-0ad259ac9c03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dfc1b2a1-fd2f-4a9e-b287-0ad259ac9c03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c9ff3358-60d7-43bb-9f6b-78aed4c91e9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:30.511730+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-c9ff3358-60d7-43bb-9f6b-78aed4c91e9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:30.511730+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-f20d7bb6-2b91-4084-801d-bc0eff14fd94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f20d7bb6-2b91-4084-801d-bc0eff14fd94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a8847e5f-efb6-4977-8080-140463dec4dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a8847e5f-efb6-4977-8080-140463dec4dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8d97dad-44e6-40e3-9864-6c349ac6cec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a8d97dad-44e6-40e3-9864-6c349ac6cec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a93556b8-f1a5-461b-937a-4cd86ac003f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACModelBeforeScopes.test_rbac_legacy_00165_volume_connectors_get_observer [0.245518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00241_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.TestRBACProjectScoped.test_project_scoped_00025_owner_member_can_patch_node_extra [0.223725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00166_volume_connectors_post_admin [0.197968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00003_lessee_admin_cannot_post_nodes [0.355816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00242_allocations_post_observer [0.178488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00174_volume_volume_connector_id_patch_observer [0.165890s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00027_lessee_admin_can_patch_node_extra [0.217640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00176_volume_volume_connector_id_delete_member [0.116486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00249_allocations_allocation_id_patch_admin [0.192444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00006_owner_reader_cannot_post_reader [0.321185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00180_volume_targets_get_observer [0.140555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00250_allocations_allocation_id_patch_member [0.171467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00181_volume_targets_post_admin [0.088080s] ... 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-a93556b8-f1a5-461b-937a-4cd86ac003f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/69a93aac-2557-408d-b896-33e0a3ca3f9e DEBUG util.py:445: Openstack-Request-Id: req-d690531d-ce94-4bd9-beb7-7e5f21d73537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "69a93aac-2557-408d-b896-33e0a3ca3f9e", "created_at": "2023-10-12T03:27:31.718409+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/69a93aac-2557-408d-b896-33e0a3ca3f9e", "rel": "self"}, {"href": "http://localhost/volume/connectors/69a93aac-2557-408d-b896-33e0a3ca3f9e", "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/69a93aac-2557-408d-b896-33e0a3ca3f9e DEBUG util.py:445: Openstack-Request-Id: req-d690531d-ce94-4bd9-beb7-7e5f21d73537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "69a93aac-2557-408d-b896-33e0a3ca3f9e", "created_at": "2023-10-12T03:27:31.718409+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/69a93aac-2557-408d-b896-33e0a3ca3f9e", "rel": "self"}, {"href": "http://localhost/volume/connectors/69a93aac-2557-408d-b896-33e0a3ca3f9e", "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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37289afb-e442-4b93-825f-b1b228f588c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-37289afb-e442-4b93-825f-b1b228f588c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc78a9b7-296f-468b-9937-725cafac5580 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cc78a9b7-296f-468b-9937-725cafac5580 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-11e9e5ad-9143-44a9-9bee-2d3bcadf6c35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-11e9e5ad-9143-44a9-9bee-2d3bcadf6c35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': 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/a7558a0e-395d-47f0-87f6-2af81a39e613 DEBUG util.py:445: Openstack-Request-Id: req-e0f76142-3d9f-4870-83f8-195e82bb87a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "a7558a0e-395d-47f0-87f6-2af81a39e613", "created_at": "2023-10-12T03:27:32.255950+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a7558a0e-395d-47f0-87f6-2af81a39e613", "rel": "self"}, {"href": "http://localhost/volume/targets/a7558a0e-395d-47f0-87f6-2af81a39e613", "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/a7558a0e-395d-47f0-87f6-2af81a39e613 DEBUG util.py:445: Openstack-Request-Id: req-e0f76142-3d9f-4870-83f8-195e82bb87a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "a7558a0e-395d-47f0-87f6-2af81a39e613", "created_at": "2023-10-12T03:27:32.255950+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a7558a0e-395d-47f0-87f6-2af81a39e613", "rel": "self"}, {"href": "http://localhost/volume/targets/a7558a0e-395d-47f0-87f6-2af81a39e613", "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-3be53949-ac83-42df-8985-81243d001d32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:32.307522+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00184_volume_volume_target_id_get_admin [0.091266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00252_allocations_allocation_id_delete_admin [0.222347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00031_owner_admin_can_change_drivers [0.551768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00187_volume_volume_target_id_patch_admin [0.172514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00008_owner_member_can_get_node [0.431411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00191_volume_volume_target_id_delete_member [0.085735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00256_nodes_allocation_get_member [0.234143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00196_nodes_volume_connectors_get_admin [0.100785s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00035_lessee_admin_cannot_change_owner [0.310629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00197_nodes_volume_connectors_get_member [0.090241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00259_nodes_allocation_delete_member [0.203456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00010_lessee_admin_can_get_node [0.346805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00199_nodes_volume_targets_get_admin [0.218279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00208_drivers_properties_get_admin [0.287182s] ... 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-a7ecb2ed-d619-4306-b2fb-0a2c923d438a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2023-10-12T03:27:31.361320+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": {"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"}, "instance_uuid": null, "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, "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": "076b44c8-eac6-483d-af69-347e7f2ae9ff", "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/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-5457a1a2-5016-43a2-a233-d5fe35d18795 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5457a1a2-5016-43a2-a233-d5fe35d18795 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dfbd8fd9-5f27-406c-b21d-7d52e064e7a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dfbd8fd9-5f27-406c-b21d-7d52e064e7a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-da4eb7d2-8ae0-4f90-864f-d1512c923d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-da4eb7d2-8ae0-4f90-864f-d1512c923d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-2a4fd8c8-b5ff-499c-9e6d-88b564998713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2a4fd8c8-b5ff-499c-9e6d-88b564998713 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-7cf0ae53-3277-4cbc-aeb2-c7a06e362302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7cf0ae53-3277-4cbc-aeb2-c7a06e362302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00037_owner_admin_cannot_change_owner [0.464425s] ... 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dc05266-34c3-48bd-b223-3effb1de7ea7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:27:31.505395+00:00", "updated_at": "2023-10-12T03:27:31.506542+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-6dc05266-34c3-48bd-b223-3effb1de7ea7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:27:31.505395+00:00", "updated_at": "2023-10-12T03:27:31.506542+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1d691fd-80ea-47c2-9793-0aa4c9cec2be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation: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-b1d691fd-80ea-47c2-9793-0aa4c9cec2be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/c98d8e72-e4ae-4602-9d19-e9c6d71906bb DEBUG util.py:445: PATCH: /v1/allocations/c98d8e72-e4ae-4602-9d19-e9c6d71906bb [{'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-e785cc67-a2a9-45ad-80ea-7d0bb46f8ff1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c98d8e72-e4ae-4602-9d19-e9c6d71906bb", "created_at": "2023-10-12T03:27:31.927168+00:00", "updated_at": "2023-10-12T03:27:32.023970+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/c98d8e72-e4ae-4602-9d19-e9c6d71906bb", "rel": "self"}, {"href": "http://localhost/allocations/c98d8e72-e4ae-4602-9d19-e9c6d71906bb", "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-e785cc67-a2a9-45ad-80ea-7d0bb46f8ff1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c98d8e72-e4ae-4602-9d19-e9c6d71906bb", "created_at": "2023-10-12T03:27:31.927168+00:00", "updated_at": "2023-10-12T03:27:32.023970+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/c98d8e72-e4ae-4602-9d19-e9c6d71906bb", "rel": "self"}, {"href": "http://localhost/allocations/c98d8e72-e4ae-4602-9d19-e9c6d71906bb", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/7dd6a625-1a5b-49fa-a236-dd58ac3da497 DEBUG util.py:445: PATCH: /v1/allocations/7dd6a625-1a5b-49fa-a236-dd58ac3da497 [{'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-0c05c96f-3cbb-400d-b6fa-4c4afe946fe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7dd6a625-1a5b-49fa-a236-dd58ac3da497 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-0c05c96f-3cbb-400d-b6fa-4c4afe946fe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7dd6a625-1a5b-49fa-a236-dd58ac3da497 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/7c32f974-db43-460c-b0e4-24a35757dde5 DEBUG util.py:445: DELETE: /v1/allocations/7c32f974-db43-460c-b0e4-24a35757dde5 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-24be3fb7-2894-4a7b-88b7-a0108f7ea0e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-24be3fb7-2894-4a7b-88b7-a0108f7ea0e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d04fb49-c67d-4b36-9041-cdc19d4665be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3d04fb49-c67d-4b36-9041-cdc19d4665be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69f47717-1649-41e3-8ce2-7cdc7e794050 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69f47717-1649-41e3-8ce2-7cdc7e794050 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-73d7a01a-767a-4631-838a-18ca0f63fb75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00262_deploy_templates_post_member [0.429849s] ... 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-de993bd3-1772-4e16-914b-6dbc7791b53e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:30.908785+00:00", "updated_at": "2023-10-12T03:27:31.003176+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-d82b6049-8921-4cc5-ad5a-7efe6fc1631a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d82b6049-8921-4cc5-ad5a-7efe6fc1631a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-aa474a03-1d40-42d8-8d68-2c36584ffaf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-aa474a03-1d40-42d8-8d68-2c36584ffaf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-4ab719c8-54ca-46b2-be52-05f9d71a91c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-4ab719c8-54ca-46b2-be52-05f9d71a91c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-32726d10-5450-48b8-b144-8c45fc0a3ac4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-32726d10-5450-48b8-b144-8c45fc0a3ac4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-61e0125b-55d1-4d3e-a034-cf8ae2fd0d30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "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-61e0125b-55d1-4d3e-a034-cf8ae2fd0d30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "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-48eb96fb-d054-4907-9990-77f06ea6241f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-10-12T03:27:33.092616+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": "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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00014_owner_reader_can_get_their_node [0.326862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00039_lessee_member_cannot_patch_instance_info [0.365979s] ... 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-3be53949-ac83-42df-8985-81243d001d32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:32.307522+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-5c4a30c3-9cf8-45a8-abe3-b4a35ccc8ee2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5c4a30c3-9cf8-45a8-abe3-b4a35ccc8ee2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a2ec178-0bc9-42f4-9b45-5e3411e56006 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1a2ec178-0bc9-42f4-9b45-5e3411e56006 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa8b7930-d22a-4842-94a1-ef91376f7413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa8b7930-d22a-4842-94a1-ef91376f7413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf54cbac-18c7-447f-87e7-3beb5924074b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-cf54cbac-18c7-447f-87e7-3beb5924074b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-409b051e-16be-4823-87a5-a0bec2a3091d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-409b051e-16be-4823-87a5-a0bec2a3091d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-262931dc-0a19-47db-bc1e-9f49a7510f17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-262931dc-0a19-47db-bc1e-9f49a7510f17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-44d9c32a-f641-47ea-8866-3a75ee33ca4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-44d9c32a-f641-47ea-8866-3a75ee33ca4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00210_drivers_properties_get_observer [0.337006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00270_deploy_templates_deploy_template_id_patch_admin [0.517519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00030_third_party_admin_cannot_patch_node_extra [0.612549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00211_drivers_raid_logical_disk_properties_get_admin [0.240710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00040_lessee_member_cannot_patch_driver_info [0.364689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00271_deploy_templates_deploy_template_id_patch_member [0.324643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00213_drivers_raid_logical_disk_properties_get_observer [0.307591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00032_owner_member_can_patch_all_the_things [0.499622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00214_drivers_vendor_passthru_methods_get_admin [0.222412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00043_lessee_member_cannot_patch_name [0.444411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00286_chassis_chassis_id_get_member [0.350605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00044_lessee_member_cannot_patch_retired [0.363483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00217_drivers_vendor_passthru_get_admin [0.278128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00046_owner_member_can_patch_node_instance_info [0.534957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00289_chassis_chassis_id_patch_member [0.549271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00220_drivers_vendor_passthru_post_admin [0.386101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00051_third_party_admin_cannot_patch_node_instance_info [0.471026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00221_drivers_vendor_passthru_post_member [0.145032s] ... 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.283540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00225_drivers_vendor_passthru_put_observer [0.115314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00226_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00004_third_party_admin_cannot_post_nodes [0.405599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00236_conductors_get_observer [0.078574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00050_lessee_reader_can_patch_node_instance_info [0.213791s] ... 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-48eb96fb-d054-4907-9990-77f06ea6241f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-10-12T03:27:33.092616+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": "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, "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 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-13fafdc0-ddf0-4bcc-a6c3-0b6e0c65e611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-13fafdc0-ddf0-4bcc-a6c3-0b6e0c65e611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-44a96e6d-f7b1-4fa3-bdf3-e2d4d146b9ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-44a96e6d-f7b1-4fa3-bdf3-e2d4d146b9ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-b36af7ae-89ce-4090-8c69-b87d0d3b1288 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b36af7ae-89ce-4090-8c69-b87d0d3b1288 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4dcb92a-3799-4175-a106-12846853be84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b4dcb92a-3799-4175-a106-12846853be84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-07969001-f70d-4eeb-89c5-2484bbb8979f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-07969001-f70d-4eeb-89c5-2484bbb8979f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00052_owner_admin_cannot_delete_nodes [0.319712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00056_lessee_admin_can_validate_node [0.199994s] ... ok 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-9452041c-6ded-43b9-986d-5086abdcc824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9452041c-6ded-43b9-986d-5086abdcc824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6f542d1b-0aab-4769-a7b9-4b169f252fd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6f542d1b-0aab-4769-a7b9-4b169f252fd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e02254d1-d298-40d2-9cb2-f718f371349c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e02254d1-d298-40d2-9cb2-f718f371349c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c4369bad-bfcd-4e55-8c88-3d3846dd3fba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c4369bad-bfcd-4e55-8c88-3d3846dd3fba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0078f2af-3c55-44a6-8c77-fa60ec4376b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0078f2af-3c55-44a6-8c77-fa60ec4376b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7d492397-76dc-454d-97b1-2904cb87acd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7d492397-76dc-454d-97b1-2904cb87acd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5b1f03c4-d473-40b8-b2ad-591988929c5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5b1f03c4-d473-40b8-b2ad-591988929c5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e9e280fd-0e7e-4577-a736-77b7943277c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e9e280fd-0e7e-4577-a736-77b7943277c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-75edad04-56b8-4fc1-b5d3-c9b678fb67b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-75edad04-56b8-4fc1-b5d3-c9b678fb67b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00238_conductors_hostname_get_member [0.073017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00245_allocations_get_observer [0.081870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00057_owner_member_can_validate_node [0.092963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00053_lessee_admin_cannot_delete_nodes [0.343805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00246_allocations_allocation_id_get_admin [0.176747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00005_owner_member_cannot_post_nodes [0.406009s] ... 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': '/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-6038fe39-1754-4f57-b77f-cc9755f167d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6038fe39-1754-4f57-b77f-cc9755f167d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f494fd58-2619-4432-8c67-14f26ae50216 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f494fd58-2619-4432-8c67-14f26ae50216 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-2729c022-6126-45e2-a087-cd3d2d08c257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2729c022-6126-45e2-a087-cd3d2d08c257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-f71432c3-f760-4d37-ac67-a5f49d3594c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f71432c3-f760-4d37-ac67-a5f49d3594c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7892f0af-5d5e-420a-8eeb-9b51ed4bf98c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7892f0af-5d5e-420a-8eeb-9b51ed4bf98c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-5cb9ea7d-dfec-4e06-aaea-39e0fd071254 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5cb9ea7d-dfec-4e06-aaea-39e0fd071254 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-2512ee10-5f58-4ff6-8045-44d3a65b1f96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2512ee10-5f58-4ff6-8045-44d3a65b1f96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c4f53fc-2cad-43c1-bec8-fd92c3c2d041 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c4f53fc-2cad-43c1-bec8-fd92c3c2d041 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00061_lessee_admin_can_set_maintenance [0.138962s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00062_owner_member_can_set_maintenance [0.080568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00054_third_party_admin_cannot_delete_nodes [0.279330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00063_lessee_member_cannot_set_maintenance [0.200532s] ... 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-73d7a01a-767a-4631-838a-18ca0f63fb75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 patch /v1/deploy_templates/7ce1e222-da61-4b23-913f-d1ac7cd6fcc1 DEBUG util.py:445: PATCH: /v1/deploy_templates/7ce1e222-da61-4b23-913f-d1ac7cd6fcc1 [{'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-ccfe4993-d4d3-4d30-b419-ea7c85666397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "7ce1e222-da61-4b23-913f-d1ac7cd6fcc1", "created_at": "2023-10-12T03:27:33.484057+00:00", "updated_at": "2023-10-12T03:27:33.809910+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7ce1e222-da61-4b23-913f-d1ac7cd6fcc1", "rel": "self"}, {"href": "http://localhost/deploy_templates/7ce1e222-da61-4b23-913f-d1ac7cd6fcc1", "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-ccfe4993-d4d3-4d30-b419-ea7c85666397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "7ce1e222-da61-4b23-913f-d1ac7cd6fcc1", "created_at": "2023-10-12T03:27:33.484057+00:00", "updated_at": "2023-10-12T03:27:33.809910+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7ce1e222-da61-4b23-913f-d1ac7cd6fcc1", "rel": "self"}, {"href": "http://localhost/deploy_templates/7ce1e222-da61-4b23-913f-d1ac7cd6fcc1", "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/b5aad03a-ad23-48bf-af8c-3b89696942ba DEBUG util.py:445: PATCH: /v1/deploy_templates/b5aad03a-ad23-48bf-af8c-3b89696942ba [{'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-ff18c0b5-47c0-469e-81d2-26d2db4d0b70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ff18c0b5-47c0-469e-81d2-26d2db4d0b70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-43345d95-874a-47cf-90b4-a662f870a712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-43345d95-874a-47cf-90b4-a662f870a712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-3c2caf2a-46bd-4125-a227-d35e73878ea2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3c2caf2a-46bd-4125-a227-d35e73878ea2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-edefdb2c-e244-4337-bbd6-52fa4f99ad6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-edefdb2c-e244-4337-bbd6-52fa4f99ad6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-3807c689-75cf-435a-a9bb-5228f06a3035 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-3807c689-75cf-435a-a9bb-5228f06a3035 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-cf8bb1c7-ffd9-46ca-9ad6-19026c4627d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "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-cf8bb1c7-ffd9-46ca-9ad6-19026c4627d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00011_lessee_member_can_get_node [0.208845s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00015_owner_reader_cannot_get_other_node [0.269651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00264_deploy_templates_get_admin [0.547202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00055_owner_admin_can_validate_node [0.317479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00066_lessee_admin_can_unset_maintenance [0.346239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00266_deploy_templates_get_observer [0.136111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00068_lessee_member_cannot_unset_maintenance [0.223891s] ... 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-b62567b6-7d4c-4f57-9ea4-7c3a7768cd93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-b62567b6-7d4c-4f57-9ea4-7c3a7768cd93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-446e2a5b-82b1-4c4c-b9f8-6e19430d13c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-10-12T03:27:36.361224+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": "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, "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": "2023-10-12T03:27:36.374272+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": "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, "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": "be8f3c02-35ad-42fd-8a6a-bfbab88e7455", "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-446e2a5b-82b1-4c4c-b9f8-6e19430d13c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2023-10-12T03:27:36.361224+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": "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, "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": "2023-10-12T03:27:36.374272+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": "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, "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": "be8f3c02-35ad-42fd-8a6a-bfbab88e7455", "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_00021_owner_reader_can_get_detail [0.117218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00023_third_party_admin_cannot_get_detail [0.102353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00024_owner_admin_can_patch_node_extra [0.108807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00268_deploy_templates_deploy_template_id_get_member [0.162156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00028_lessee_member_can_patch_node_extra [0.106453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00069_third_party_admin_cannot_unset_maintenance [0.191929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00272_deploy_templates_deploy_template_id_patch_observer [0.144895s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00073_lessee_member_cannot_set_boot_device [0.271531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00071_lessee_admin_cannot_set_boot_device [0.149851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00034_lessee_admin_cannot_change_lessee [0.204619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00079_owner_reader_cannot_get_boot_device [0.181831s] ... 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64cdfc54-6b19-485c-a3a3-443ea187ebde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "a8aad883-deca-4c23-87d0-ef271778e4fc", "created_at": "2023-10-12T03:27:35.602866+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a8aad883-deca-4c23-87d0-ef271778e4fc", "rel": "self"}, {"href": "http://localhost/allocations/a8aad883-deca-4c23-87d0-ef271778e4fc", "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-64cdfc54-6b19-485c-a3a3-443ea187ebde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "a8aad883-deca-4c23-87d0-ef271778e4fc", "created_at": "2023-10-12T03:27:35.602866+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a8aad883-deca-4c23-87d0-ef271778e4fc", "rel": "self"}, {"href": "http://localhost/allocations/a8aad883-deca-4c23-87d0-ef271778e4fc", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/fbd9501f-0581-475f-8e03-770704b5c47d DEBUG util.py:445: GET: /v1/allocations/fbd9501f-0581-475f-8e03-770704b5c47d {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bbb7e9aa-7b3a-4a1d-821e-8b84a539434f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "fbd9501f-0581-475f-8e03-770704b5c47d", "created_at": "2023-10-12T03:27:35.732763+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fbd9501f-0581-475f-8e03-770704b5c47d", "rel": "self"}, {"href": "http://localhost/allocations/fbd9501f-0581-475f-8e03-770704b5c47d", "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-bbb7e9aa-7b3a-4a1d-821e-8b84a539434f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "fbd9501f-0581-475f-8e03-770704b5c47d", "created_at": "2023-10-12T03:27:35.732763+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fbd9501f-0581-475f-8e03-770704b5c47d", "rel": "self"}, {"href": "http://localhost/allocations/fbd9501f-0581-475f-8e03-770704b5c47d", "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-9c9107b0-ea36-41fc-862b-37fe91768da3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "8d18da78-edeb-418d-b437-1c610878f23f", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/8d18da78-edeb-418d-b437-1c610878f23f", "rel": "self"}, {"href": "http://localhost/deploy_templates/8d18da78-edeb-418d-b437-1c610878f23f", "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-9c9107b0-ea36-41fc-862b-37fe91768da3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "8d18da78-edeb-418d-b437-1c610878f23f", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/8d18da78-edeb-418d-b437-1c610878f23f", "rel": "self"}, {"href": "http://localhost/deploy_templates/8d18da78-edeb-418d-b437-1c610878f23f", "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-bdec8523-2219-4ad3-8a5c-f7e4e75a782e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "13d247f1-8509-4648-b6be-3508ca3db977", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/13d247f1-8509-4648-b6be-3508ca3db977", "rel": "self"}, {"href": "http://localhost/deploy_templates/13d247f1-8509-4648-b6be-3508ca3db977", "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-bdec8523-2219-4ad3-8a5c-f7e4e75a782e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "13d247f1-8509-4648-b6be-3508ca3db977", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/13d247f1-8509-4648-b6be-3508ca3db977", "rel": "self"}, {"href": "http://localhost/deploy_templates/13d247f1-8509-4648-b6be-3508ca3db977", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/04349086-1c12-47d0-9b47-3c42be1e99c2 DEBUG util.py:445: GET: /v1/deploy_templates/04349086-1c12-47d0-9b47-3c42be1e99c2 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88b6d8f4-3a58-4ce6-8f36-66c9c5f5293e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-88b6d8f4-3a58-4ce6-8f36-66c9c5f5293e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 patch /v1/deploy_templates/d696ad89-59c1-4b21-a405-46a459c7df01 DEBUG util.py:445: PATCH: /v1/deploy_templates/d696ad89-59c1-4b21-a405-46a459c7df01 [{'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-9db22e5f-ab2f-4fa1-8c09-8a7fe9e2ec2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9db22e5f-ab2f-4fa1-8c09-8a7fe9e2ec2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/82e4862b-d75c-4292-9327-8ac3f790dc32 DEBUG util.py:445: DELETE: /v1/deploy_templates/82e4862b-d75c-4292-9327-8ac3f790dc32 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-fb8539e9-3edc-4974-bace-8407f7662e40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-fb8539e9-3edc-4974-bace-8407f7662e40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00273_deploy_templates_deploy_template_id_delete_admin [0.123185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00274_deploy_templates_deploy_template_id_delete_member [0.119853s] ... 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.201044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00277_chassis_post_member [0.145352s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00072_owner_member_cannot_set_boot_device [0.325155s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00278_chassis_post_observer [0.109602s] ... 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.237482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00059_third_party_admin_cannot_validate_node [0.216824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00282_chassis_detail_get_admin [0.083370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00082_owner_admin_can_get_supported_boot_devices [0.197987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00287_chassis_chassis_id_get_observer [0.137597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00075_owner_admin_can_get_boot_device [0.325880s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00064_third_party_admin_cannot_set_maintenance [0.242533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00291_chassis_chassis_id_delete_admin [0.111902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00293_chassis_chassis_id_delete_observer [0.071406s] ... ok DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/ec3c8984-9b24-4765-b396-b949cf754271 DEBUG util.py:445: DELETE: /v1/deploy_templates/ec3c8984-9b24-4765-b396-b949cf754271 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-612c9b9e-fd85-4f37-a64e-3ab7267e87a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-612c9b9e-fd85-4f37-a64e-3ab7267e87a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d2dadb4d-3411-4172-b3ce-5ed727890d98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d2dadb4d-3411-4172-b3ce-5ed727890d98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-1ef83340-0460-4108-86ab-2c6357fc2cda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1ef83340-0460-4108-86ab-2c6357fc2cda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a66219fa-8b53-4ea7-b4f9-1e0466b80d74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:37.362496+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-a66219fa-8b53-4ea7-b4f9-1e0466b80d74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:37.362496+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-f997c300-5015-4704-a7cf-272bf2d8f8ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:37.440251+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-f997c300-5015-4704-a7cf-272bf2d8f8ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:27:37.440251+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: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-50d8222e-97f5-4a65-9840-52bc2fcab627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-50d8222e-97f5-4a65-9840-52bc2fcab627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-18996f58-adfc-4540-9b3c-e6221352edf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-18996f58-adfc-4540-9b3c-e6221352edf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-3d04a9df-1168-4e6a-9d10-aab4771c3c85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00007_owner_admin_can_get_node [0.066837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00009_owner_reader_can_get_node [0.082268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00012_lessee_reader_can_get_node [0.070219s] ... ok 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-fe3b5402-3ff1-44ad-bde9-2dfb241a53b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fe3b5402-3ff1-44ad-bde9-2dfb241a53b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-55ef1c96-9fa4-47ff-bfd7-e2fba8997fb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-55ef1c96-9fa4-47ff-bfd7-e2fba8997fb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-94c3b378-6a4e-4d8d-8907-c4dd5a859d0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-94c3b378-6a4e-4d8d-8907-c4dd5a859d0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-f1ea5aa7-6e1b-4042-b468-1fc6da292f28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f1ea5aa7-6e1b-4042-b468-1fc6da292f28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a2a7c9bf-dbe4-440e-b800-94e4abbde177 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-a2a7c9bf-dbe4-440e-b800-94e4abbde177 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-324a287f-86f8-41fc-a4a9-bdf2ff7d4783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-324a287f-86f8-41fc-a4a9-bdf2ff7d4783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-551fdb53-6c46-4f82-a25d-c37f4c670f80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-551fdb53-6c46-4f82-a25d-c37f4c670f80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1d7106d2-f8dc-4447-b137-8365e4e8e13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1d7106d2-f8dc-4447-b137-8365e4e8e13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b0bf9c10-7807-467a-9f6f-3c17a56329b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00076_lessee_admin_cannot_get_boot_device [0.296392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00078_lessee_member_cannot_get_boot_device [0.373755s] ... ok 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-645a332f-ea55-454f-b333-04df77955468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-645a332f-ea55-454f-b333-04df77955468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-5ccb7957-acbb-41a7-bd02-d9ded14b3f77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5ccb7957-acbb-41a7-bd02-d9ded14b3f77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-962299e5-9aea-4be5-9a63-fb05881088dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-962299e5-9aea-4be5-9a63-fb05881088dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-90b1a6f9-80e9-4673-a6ba-25486f13dcef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-90b1a6f9-80e9-4673-a6ba-25486f13dcef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6a748002-adef-4599-8ad4-87cb5edd1bd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6a748002-adef-4599-8ad4-87cb5edd1bd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7eb8217-ef2a-4cab-9d49-0211a4a584d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c7eb8217-ef2a-4cab-9d49-0211a4a584d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2f3c66f6-27c3-4638-94ed-a03c9dfc6583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-2f3c66f6-27c3-4638-94ed-a03c9dfc6583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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/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-7004cfc2-7dd9-4dea-b41b-e3677fbdbbef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7004cfc2-7dd9-4dea-b41b-e3677fbdbbef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-371fa3d6-a845-4502-9c42-4cb56bec0188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00085_third_party_admin_cannot_get_supported_boot_devices [0.424597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00017_lessee_reader_cant_get_other_node [0.130652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00084_lessee_admin_cannot_get_supported_boot_devices [0.293217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00018_third_party_admin_cant_get_node [0.127775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00089_owner_reader_get_states [0.268844s] ... 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-21f94ff5-e028-4f73-b12c-fb70324193f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-21f94ff5-e028-4f73-b12c-fb70324193f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b72723e1-bdc2-4199-86c8-2c1d20dd13e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b72723e1-bdc2-4199-86c8-2c1d20dd13e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-68c3a6f8-fcaa-4d0b-a994-fe95f7caf695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-68c3a6f8-fcaa-4d0b-a994-fe95f7caf695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7e616193-8515-4169-8dc9-278693729258 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7e616193-8515-4169-8dc9-278693729258 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-65664e71-1b50-4afa-8a8c-a23fded93948 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-65664e71-1b50-4afa-8a8c-a23fded93948 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71dc7456-e43d-4b51-af65-399fddf0038b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-71dc7456-e43d-4b51-af65-399fddf0038b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-f16fc67b-c34d-4498-a4b8-5349e3c0caf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f16fc67b-c34d-4498-a4b8-5349e3c0caf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-aaa6255c-d132-4c10-9772-d428b734d905 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aaa6255c-d132-4c10-9772-d428b734d905 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-cf8b5584-2cca-4feb-a7d1-43f8632045e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cf8b5584-2cca-4feb-a7d1-43f8632045e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00026_owner_reader_cannot_patch_node_extra [0.141078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00080_lessee_reader_cannot_get_boot_device [0.265223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00090_lessee_reader_get_states [0.230953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00092_owner_admin_can_put_power_state_change [0.259307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00083_owner_member_cannot_get_supported_boot_devices [0.310098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00029_lessee_reader_cannot_patch_node_extra [0.247465s] ... 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.214049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00086_owner_admin_can_send_non_masking_interrupt [0.170681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00105_lessee_admin_cannot_set_raid_config [0.160711s] ... 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-3d04a9df-1168-4e6a-9d10-aab4771c3c85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-a298fc0b-6fb9-41d1-9d0d-ad4d55a4c97d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-a298fc0b-6fb9-41d1-9d0d-ad4d55a4c97d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-da997d3e-832a-4b34-9752-d0aca9a8929e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "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-da997d3e-832a-4b34-9752-d0aca9a8929e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "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-c1cef6b0-5f42-41b6-bf78-1e7a8482c53c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-c1cef6b0-5f42-41b6-bf78-1e7a8482c53c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-3912f789-9657-4370-ae34-a1b6d8737cea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-3912f789-9657-4370-ae34-a1b6d8737cea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b9995df-b307-4572-85dd-073ab183a77b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4b9995df-b307-4572-85dd-073ab183a77b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3305f56e-835b-4fad-bdd1-f70459236088 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3305f56e-835b-4fad-bdd1-f70459236088 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00033_owner_member_can_change_lessee [0.403181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00087_lessee_admin_cannot_send_non_masking_interrupt [0.289852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00102_lessee_member_cannot_change_provision_state [0.739662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00098_third_party_admin_cannot_put_power_state_change [0.134069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00106_owner_member_can_set_raid_config [0.286693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00103_third_party_admin_cannot_change_provision_state [0.221251s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00036_owner_admin_can_change_lessee [0.322119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00111_owner_member_can_get_console [0.147694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00100_owner_member_can_change_provision_state [0.343665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00113_owner_reader_cannot_get_console [0.072725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00108_third_party_admin_cannot_set_raid_config [0.481240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00119_lessee_member_cannot_set_console [0.172587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00038_lessee_member_can_set_protected [0.473403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00109_owner_admin_can_get_console [0.318985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00110_lessee_admin_cannot_get_console [0.197323s] ... 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-b0bf9c10-7807-467a-9f6f-3c17a56329b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0c9fae8c-8017-44f1-b552-99a90fa8fe10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0c9fae8c-8017-44f1-b552-99a90fa8fe10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-711fed6e-3057-4c2d-ad11-70783f9db00d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-711fed6e-3057-4c2d-ad11-70783f9db00d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} 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-74646dcd-57b6-4dc2-a60e-11e981bcb951 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-74646dcd-57b6-4dc2-a60e-11e981bcb951 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-7c85daca-e48a-4823-8c75-f996255087a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7c85daca-e48a-4823-8c75-f996255087a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c7fe9289-61fb-40b5-ac03-a09753df85c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c7fe9289-61fb-40b5-ac03-a09753df85c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9822de31-2dc4-41e5-8009-8437b007676d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9822de31-2dc4-41e5-8009-8437b007676d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0c555434-ad31-4d66-92cf-4601697a3f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0c555434-ad31-4d66-92cf-4601697a3f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-5234d806-8c4a-4e4a-808a-0c7547e25539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5234d806-8c4a-4e4a-808a-0c7547e25539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00132_owner_admin_cannot_post_vendor_passthru [0.195361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00041_lessee_member_cannot_patch_properties [0.237035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00134_owner_reader_cannot_post_vendor_passthru [0.198751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00114_lessee_reader_cannot_get_console [0.332972s] ... 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-371fa3d6-a845-4502-9c42-4cb56bec0188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-47a6044a-f5ea-4f3e-aa22-ce503a4673d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47a6044a-f5ea-4f3e-aa22-ce503a4673d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} 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-970ffd5c-ce28-44ac-9733-cc19bf2991ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-970ffd5c-ce28-44ac-9733-cc19bf2991ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b88c0ec0-556f-48d1-808a-2c1bcc2c2022 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b88c0ec0-556f-48d1-808a-2c1bcc2c2022 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e5a0512-f215-4265-8974-fc3a324c9030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e5a0512-f215-4265-8974-fc3a324c9030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-8abf8c68-3b59-4623-a664-c43cf0b2a04f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8abf8c68-3b59-4623-a664-c43cf0b2a04f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94fe2d8b-20e2-4160-b730-ff19cab9df05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-94fe2d8b-20e2-4160-b730-ff19cab9df05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0a508123-0d8f-435d-8670-1e716b25ed19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0a508123-0d8f-435d-8670-1e716b25ed19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7eb39a02-1765-4525-b398-7f8b558a35f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00115_third_party_admin_cannot_get_console [0.251398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00042_lessee_member_cannot_patch_network_data [0.252075s] ... 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.101300s] ... 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.102838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00118_owner_member_can_set_console [0.447198s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00136_lessee_member_cannot_post_vendor_passthru [0.503569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00116_owner_admin_can_set_console [0.495681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00058_lessee_member_cannot_validate_node [0.122254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00138_owner_admin_cannot_put_vendor_passthru [0.227346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00125_lessee_reader_cannot_get_vendor_passthru_methods [0.421352s] ... 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86e5097f-9bac-4ce0-a13a-335d685e79e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-86e5097f-9bac-4ce0-a13a-335d685e79e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-2f91635b-4045-423e-b4db-1a79cd96f501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2f91635b-4045-423e-b4db-1a79cd96f501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e21ed3c1-1376-4ec6-9cd0-596f32a52f7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e21ed3c1-1376-4ec6-9cd0-596f32a52f7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f018e5b-cf4d-4492-bec9-5c7cfe1be552 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-4f018e5b-cf4d-4492-bec9-5c7cfe1be552 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-9a35ece0-bc00-4740-b411-8be6401174e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9a35ece0-bc00-4740-b411-8be6401174e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e434875e-be3d-4d9e-91a7-e9670d1168eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e434875e-be3d-4d9e-91a7-e9670d1168eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0a018d74-a4aa-44ce-890b-dcd1d875c7d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0a018d74-a4aa-44ce-890b-dcd1d875c7d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0d4f7d3e-3568-40d0-b3d0-46dcec2f138c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0d4f7d3e-3568-40d0-b3d0-46dcec2f138c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-921b6055-6197-4ae0-93d6-ef6c885504e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACProjectScoped.test_project_scoped_00120_owner_admin_cannot_get_vendor_passthru_methods [0.328796s] ... ok 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-c76912dc-4ea5-4cc4-9318-f2fe8eaa6a9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c76912dc-4ea5-4cc4-9318-f2fe8eaa6a9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-d8759ce5-98ae-4b2f-bc9c-5b0b886ebb06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d8759ce5-98ae-4b2f-bc9c-5b0b886ebb06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-5f342945-d935-4623-b933-ea3143dba7d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5f342945-d935-4623-b933-ea3143dba7d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-f93d6d46-7604-4180-a27e-67a271164562 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f93d6d46-7604-4180-a27e-67a271164562 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-142e7a64-f982-4f48-8356-3b884de54eef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-142e7a64-f982-4f48-8356-3b884de54eef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-3ff3f74f-a6dc-4075-9911-9c8eabb9eefa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3ff3f74f-a6dc-4075-9911-9c8eabb9eefa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-909516bd-9fc2-4fa6-acb5-3ca32f4675f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-909516bd-9fc2-4fa6-acb5-3ca32f4675f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-cdc63902-c858-487e-8534-c2f3c73f4893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cdc63902-c858-487e-8534-c2f3c73f4893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00060_owner_admin_can_set_maintenance [0.367088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00143_lessee_reader_cannot_put_vendor_passthru [0.252078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00065_owner_admin_can_unset_maintenance [0.239508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00121_owner_member_cannot_get_vendor_passthru_methods [0.360368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00144_owner_admin_cannot_delete_vendor_passthru [0.237586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00128_owner_reader_cannot_get_vendor_passthru [0.332177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00122_owner_reader_cannot_get_vendor_passthru_methods [0.307498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00067_owner_member_can_unset_maintnenance [0.371148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00149_lessee_reader_cannot_delete_vendor_passthru [0.349910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00131_lessee_reader_cannot_get_vendor_passthru [0.414259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00151_lessee_reader_get_traits [0.349424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00123_lessee_admin_cannot_get_vendor_passthru_methods [0.523466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00140_owner_reader_cannot_put_vendor_passthru [0.413978s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00070_owner_admin_can_set_boot_device [0.469558s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00154_owner_member_cannot_put_traits [0.220282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00124_lessee_member_cannot_get_vendor_passthru_methods [0.302973s] ... ok 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-47e7b101-4e2d-4a0c-b3a7-a39d23381d64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-47e7b101-4e2d-4a0c-b3a7-a39d23381d64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-92472501-baf1-4ffa-ad2f-de2627f13daf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-92472501-baf1-4ffa-ad2f-de2627f13daf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5ad751d1-ac97-4cd0-ac88-f42b67814a52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5ad751d1-ac97-4cd0-ac88-f42b67814a52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aa38b6db-9040-4493-9714-3b565d6c0ae5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aa38b6db-9040-4493-9714-3b565d6c0ae5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0c5fc749-90c9-4b23-9b6a-0bc04b1ed6ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0c5fc749-90c9-4b23-9b6a-0bc04b1ed6ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0670b958-62f6-4a39-99cc-ab39658c96e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0670b958-62f6-4a39-99cc-ab39658c96e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-df62c0b4-0801-47ff-b0a0-1a49cfcae76d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-df62c0b4-0801-47ff-b0a0-1a49cfcae76d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"traits": []} 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-a209cf9f-c28c-4f59-8efa-5410ef889497 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a209cf9f-c28c-4f59-8efa-5410ef889497 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-02f508e8-f820-476c-99d4-b99d773371d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00156_lessee_member_cannot_put_traits [0.234324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00145_owner_member_cannot_delete_vendor_passthru [0.371623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00074_third_party_admin_cannot_set_boot_device [0.450828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00163_owner_admin_can_put_custom_traits [0.196118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00165_lessee_admin_cannot_put_custom_traits [0.250037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00077_owner_member_cannot_get_boot_device [0.347345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00127_owner_member_cannot_get_vendor_passthru [0.575330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00088_third_party_admin_cannot_send_non_masking_interrupt [0.168032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00146_owner_reader_cannot_delete_vendor_passthru [0.666468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00171_owner_admin_can_post_vifs [0.323236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00091_third_part_admin_cannot_get_states [0.107209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00129_lessee_admin_cannot_get_vendor_passthru [0.356471s] ... 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-7eb39a02-1765-4525-b398-7f8b558a35f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-fa1dcbb1-8818-443c-8027-6dc21d6e1055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa1dcbb1-8818-443c-8027-6dc21d6e1055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fe50ded1-aa49-45f9-a9b5-6a717d9e2a51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fe50ded1-aa49-45f9-a9b5-6a717d9e2a51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-97802e05-b734-4e65-8e34-1c96616ca68b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-97802e05-b734-4e65-8e34-1c96616ca68b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c2577aa-1606-437d-918c-70e15c040f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c2577aa-1606-437d-918c-70e15c040f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f31526f3-cd70-4ac5-8a42-3673f95148a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f31526f3-cd70-4ac5-8a42-3673f95148a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c8a3b2d-d93a-41ed-b8a5-c03320b94fad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c8a3b2d-d93a-41ed-b8a5-c03320b94fad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-40dc1ff9-a243-4eec-abed-cfe216f0f06c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-40dc1ff9-a243-4eec-abed-cfe216f0f06c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-987a493a-f057-4f02-9c64-0ed4e9914cf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-987a493a-f057-4f02-9c64-0ed4e9914cf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00148_lessee_member_cannot_delete_vendor_passthru [0.218996s] ... 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-44b5fa74-851b-410f-9133-408760e80924 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-44b5fa74-851b-410f-9133-408760e80924 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-69ead598-7fbe-4c5b-b543-e0968b357572 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69ead598-7fbe-4c5b-b543-e0968b357572 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8ff64527-3ccd-42f5-af90-c522496e81c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8ff64527-3ccd-42f5-af90-c522496e81c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e0e13c1-068f-4327-ba49-02b5c13a9a54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3e0e13c1-068f-4327-ba49-02b5c13a9a54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8361083-39f3-478a-900d-3ff0aed66130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c8361083-39f3-478a-900d-3ff0aed66130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7164a09e-84fc-45a4-85ad-e7c2c8f8afd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7164a09e-84fc-45a4-85ad-e7c2c8f8afd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-fc10dd24-a503-48ab-b342-41a5b49f9a74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-fc10dd24-a503-48ab-b342-41a5b49f9a74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-03f0fdae-10d1-4102-b721-9b33c7c5e4a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-03f0fdae-10d1-4102-b721-9b33c7c5e4a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b08c6a57-6fb9-45f3-9d1b-b7fc95c23a1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00094_owner_member_can_put_power_state_change [0.111197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00095_lessee_member_can_put_power_state_change [0.084811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00096_owner_reader_cannot_put_power_state_change [0.072829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00097_lessee_reader_cannot_put_power_state_change [0.067577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00155_lessee_admin_cannot_put_traits [0.208520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00099_owner_admin_can_change_provision_state [0.076773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00174_lessee_member_cannot_post_vifs [0.461905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00101_lessee_admin_can_change_provision_state [0.071321s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00135_lessee_admin_cannot_post_vendor_passthru [0.426060s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00160_lessee_admin_cannot_delete_traits [0.200755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00104_owner_admin_can_set_raid_config [0.129645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00107_lessee_member_cannot_set_raid_config [0.103714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00178_owner_admin_delete_vifs [0.367673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00162_third_party_admin_cannot_delete_traits [0.288176s] ... 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-b08c6a57-6fb9-45f3-9d1b-b7fc95c23a1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e867f04-856c-41ef-91cc-4442064df79f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9e867f04-856c-41ef-91cc-4442064df79f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-26e5321b-5686-4b29-af11-1a54ca4c8608 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-26e5321b-5686-4b29-af11-1a54ca4c8608 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-7fb6cf54-2f12-4ace-b805-328f8b6f99d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7fb6cf54-2f12-4ace-b805-328f8b6f99d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-e19e5cec-57a4-4c04-b8cf-7969c00940c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e19e5cec-57a4-4c04-b8cf-7969c00940c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bc4a769d-80eb-42ad-be3b-931f24fd84fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bc4a769d-80eb-42ad-be3b-931f24fd84fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-77aa0922-9283-4ad8-bd7b-c7631650d25b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-77aa0922-9283-4ad8-bd7b-c7631650d25b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5320505f-ec9f-4af2-8b49-74ebfb61e217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5320505f-ec9f-4af2-8b49-74ebfb61e217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e1856c0d-4f50-45c6-b3ae-0e28837706cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e1856c0d-4f50-45c6-b3ae-0e28837706cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00112_lessee_member_cannot_get_console [0.075305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00117_lessee_admin_cannot_set_console [0.083873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00126_owner_admin_cannot_get_vendor_passthru [0.079097s] ... 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-921b6055-6197-4ae0-93d6-ef6c885504e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-932d216d-8309-4e48-abe1-28dbd68dda5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-932d216d-8309-4e48-abe1-28dbd68dda5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6453c211-af06-4593-b707-f242849a4c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6453c211-af06-4593-b707-f242849a4c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8f025b41-a698-43b4-8a63-35760b551f02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8f025b41-a698-43b4-8a63-35760b551f02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8da32d54-c9d9-40b6-a5e8-ac2c8ad291c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8da32d54-c9d9-40b6-a5e8-ac2c8ad291c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ec85ca42-8b33-4a32-8da0-7b693fa8bdce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ec85ca42-8b33-4a32-8da0-7b693fa8bdce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d07c790c-5805-4ffb-90cb-1294ef47e7de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d07c790c-5805-4ffb-90cb-1294ef47e7de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f13e5053-5e38-49a5-a14d-5ea3d2d2d2ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f13e5053-5e38-49a5-a14d-5ea3d2d2d2ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-81727e7f-81bf-4bfd-82e5-0ae5eea3ed27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-81727e7f-81bf-4bfd-82e5-0ae5eea3ed27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACProjectScoped.test_project_scoped_00141_lessee_admin_cannot_put_vendor_passthru [0.285955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00180_owner_member_can_delete_vifs [0.227675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00130_lessee_member_cannot_get_vendor_passthru [0.100793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00147_lessee_admin_cannot_delete_vendor_passthru [0.231124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00133_owner_member_cannot_post_vendor_passthru [0.117101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00166_lessee_member_cannot_put_custom_traits [0.324970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00185_third_party_admin_cannot_get_indicators [0.166093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00153_owner_admin_can_put_traits [0.198225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00137_lessee_reader_cannot_post_vendor_passthru [0.170240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00167_third_party_admin_cannot_put_custom_traits [0.179777s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00186_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00157_third_party_admin_cannot_put_traits [0.143681s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00193_third_party_admin_cannot_list_portgroups [0.113981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00158_owner_admin_can_delete_traits [0.111488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00139_owner_member_cannot_put_vendor_passthru [0.173304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00168_owner_reader_get_vifs [0.253065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00159_owner_member_cannot_delete_traits [0.128647s] ... 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-02f508e8-f820-476c-99d4-b99d773371d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f549c844-9abe-4b80-b9c9-0d4849a2b1be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f549c844-9abe-4b80-b9c9-0d4849a2b1be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-fb14088e-ebaf-4990-9a40-34bce55dd573 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fb14088e-ebaf-4990-9a40-34bce55dd573 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-aa2c82df-b3cd-45f6-9042-b45b5108a9d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aa2c82df-b3cd-45f6-9042-b45b5108a9d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d4b05f3d-d939-48c6-aadc-16bd5d49176a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d4b05f3d-d939-48c6-aadc-16bd5d49176a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e7c23d49-d3dd-47eb-98d0-8e862ccb67cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e7c23d49-d3dd-47eb-98d0-8e862ccb67cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-67ce5930-b246-4344-9260-d12d3a0bec59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-67ce5930-b246-4344-9260-d12d3a0bec59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9248b94a-2a79-46ec-b498-7195c34fad54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9248b94a-2a79-46ec-b498-7195c34fad54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3e2e78c7-4856-4a01-a8c0-9cf1319ee78c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3e2e78c7-4856-4a01-a8c0-9cf1319ee78c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": []} 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/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8 DEBUG util.py:445: Openstack-Request-Id: req-a1fd8c07-6d8c-40b0-ad79-69a9b587a0d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8", "created_at": "2023-10-12T03:27:44.880389+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/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8", "rel": "self"}, {"href": "http://localhost/portgroups/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8/ports", "rel": "self"}, {"href": "http://localhost/portgroups/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8/ports", "rel": "bookmark"}]}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00197_owner_admin_can_add_portgroup [0.131764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00205_lessee_member_cannot_modify_portgroup [0.100181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00142_lessee_member_cannot_put_vendor_passthru [0.208912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00164_owner_member_cannot_put_custom_traits [0.137846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00208_owner_member_cannot_delete_portgroup [0.237732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00170_third_party_admin_cannot_get_vifs [0.321084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00169_lessee_reader_get_vifs [0.157922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00150_owner_reader_get_traits [0.274897s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00175_owner_reader_cannot_post_vifs [0.187290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00172_lessee_admin_can_post_vifs [0.212734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00210_lessee_member_cannot_delete_portgroup [0.239887s] ... ok 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-b9cf6c08-fa94-4866-8af3-238cfc619275 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b9cf6c08-fa94-4866-8af3-238cfc619275 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0ee21be5-7075-44fd-8791-7280ced78e3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0ee21be5-7075-44fd-8791-7280ced78e3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36499d96-0ce4-4b3c-935a-656785d99ac8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-36499d96-0ce4-4b3c-935a-656785d99ac8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c355a592-6cfc-45d1-816f-f1ed262c0fe0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c355a592-6cfc-45d1-816f-f1ed262c0fe0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0dfb6fed-00c8-4bd4-b602-e12c9db12229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0dfb6fed-00c8-4bd4-b602-e12c9db12229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-67a00725-3f08-4cea-86a4-545c932e7653 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-67a00725-3f08-4cea-86a4-545c932e7653 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0c755411-1887-488c-afed-7500e55562e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0c755411-1887-488c-afed-7500e55562e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-46c17911-c035-4450-a0f3-1d39f3d9800a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-46c17911-c035-4450-a0f3-1d39f3d9800a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-fe8b3991-1d86-4084-a0d2-e86452329aa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00176_lessee_reader_cannot_post_vifs [0.179310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00217_third_party_admin_cannot_list_ports [0.237644s] ... ok 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-290c48b0-9a01-42de-8e51-c1b81afe88a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-290c48b0-9a01-42de-8e51-c1b81afe88a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-e5903db3-47a7-40b1-addc-7d7da256cce1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e5903db3-47a7-40b1-addc-7d7da256cce1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1630c73-1ee6-4a5c-8aad-fab1ce5a59fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f1630c73-1ee6-4a5c-8aad-fab1ce5a59fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3def376e-1c22-414e-b973-17b29cc9225a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3def376e-1c22-414e-b973-17b29cc9225a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9360b8e8-cbef-424c-afb0-9438a1749cee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9360b8e8-cbef-424c-afb0-9438a1749cee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d56398bf-98dd-4608-952d-f52d243f319a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d56398bf-98dd-4608-952d-f52d243f319a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-9a2fd50f-bed5-4a4e-ab0d-4e80a4baf6e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9a2fd50f-bed5-4a4e-ab0d-4e80a4baf6e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-94dd92d4-1ca1-4c88-a8c0-557bbd165939 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-94dd92d4-1ca1-4c88-a8c0-557bbd165939 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-920b5bcb-c0b2-4687-8a68-7bd933912def DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00173_owner_member_can_post_vifs [0.265548s] ... ok 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-a1c6d20c-9776-4d30-aaef-b02352e4af89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a1c6d20c-9776-4d30-aaef-b02352e4af89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-302073e6-b13e-418b-9736-81079ceb72be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-302073e6-b13e-418b-9736-81079ceb72be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dc37a0e5-d64e-4115-ab11-62679a4181e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dc37a0e5-d64e-4115-ab11-62679a4181e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4ccce1b0-b2a4-4af8-812f-d2555b4f6967 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4ccce1b0-b2a4-4af8-812f-d2555b4f6967 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3ec4ca13-15e4-49d2-aa45-cab854066400 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3ec4ca13-15e4-49d2-aa45-cab854066400 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2a3d9190-94db-4ea0-bbc0-1e6d7a844acb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2a3d9190-94db-4ea0-bbc0-1e6d7a844acb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69aa77dc-f1be-4fa5-96f1-df58f5a139f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69aa77dc-f1be-4fa5-96f1-df58f5a139f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0557c530-33bb-4459-90e1-ab0b3102f566 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0557c530-33bb-4459-90e1-ab0b3102f566 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-01157b97-6004-4fc6-ac0b-c161c6492ffd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00152_third_party_admin_cannot_get_traits [0.493076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00218_owner_reader_can_read_port [0.148492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00183_owner_readers_can_get_indicators [0.320563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00222_owner_admin_cannot_add_ports_to_other_nodes [0.088872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00161_lessee_member_cannot_delete_traits [0.206976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00179_lessee_admin_can_delete_vifs [0.287608s] ... ok 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/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8 DEBUG util.py:445: Openstack-Request-Id: req-a1fd8c07-6d8c-40b0-ad79-69a9b587a0d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8", "created_at": "2023-10-12T03:27:44.880389+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/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8", "rel": "self"}, {"href": "http://localhost/portgroups/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8/ports", "rel": "self"}, {"href": "http://localhost/portgroups/3d2dd7fd-aaac-43f0-9a8a-bdbe798c59d8/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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb2647b6-87d3-411f-ad71-2165b6d505f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fb2647b6-87d3-411f-ad71-2165b6d505f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-475810d5-e105-48c0-bab9-4a0642ffc179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-475810d5-e105-48c0-bab9-4a0642ffc179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-964f65b6-d1ab-4822-9540-140fd9896d58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-964f65b6-d1ab-4822-9540-140fd9896d58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-29ff679a-b5a9-434c-ab8c-5e5585d611ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-29ff679a-b5a9-434c-ab8c-5e5585d611ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": []} 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-1894d70a-c244-4b48-9f14-bd3ac29c3200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2023-10-12T03:27:45.793585+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-1894d70a-c244-4b48-9f14-bd3ac29c3200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2023-10-12T03:27:45.793585+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 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-1984d67f-811b-4b33-8bb4-76a882c142ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1984d67f-811b-4b33-8bb4-76a882c142ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-83e9bc78-9251-4017-ac59-fa915a57edc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-83e9bc78-9251-4017-ac59-fa915a57edc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACProjectScoped.test_project_scoped_00226_third_party_admin_cannot_add_port [0.103881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00184_lesse_readers_can_get_indicators [0.266725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00232_owner_admin_can_delete_port [0.150185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00242_third_party_admin_cannot_get_ports_by_portgroup [0.131928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00189_lessee_member_cannot_set_indicator [0.330174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00177_third_party_admin_cannot_post_vifs [0.343358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00187_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.TestRBACProjectScoped.test_project_scoped_00190_third_party_admin_cannot_set_indicator [0.189350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00181_lessee_member_cannot_delete_vifs [0.194367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00188_owner_member_can_set_indicator [0.207059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00248_third_party_admin_cannot_post_volume_connector [0.264479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00182_third_party_admin_cannot_delete_vifs [0.084636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00191_owner_reader_can_list_portgroups [0.102172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00194_owner_reader_can_read_portgroup [0.226366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00196_third_party_admin_cannot_read_portgroup [0.104267s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00192_lessee_reader_can_list_portgroups [0.356625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00249_owner_reader_can_get_volume_connector [0.351116s] ... 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-01157b97-6004-4fc6-ac0b-c161c6492ffd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5089d213-d34c-487b-9d51-fc86e9f5d2c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5089d213-d34c-487b-9d51-fc86e9f5d2c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-8f7f8859-a9f8-46b8-a671-ca89d41d74b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8f7f8859-a9f8-46b8-a671-ca89d41d74b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-14828d75-d0a3-4dfd-b9ff-ecee4e4f3f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-14828d75-d0a3-4dfd-b9ff-ecee4e4f3f13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3d88cfa4-f0ce-422b-8510-94c7660fb567 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3d88cfa4-f0ce-422b-8510-94c7660fb567 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-64706097-4329-406b-9c6a-4396dae63a8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-64706097-4329-406b-9c6a-4396dae63a8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-351d0f0c-d244-43c7-9daa-759ceab098c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-351d0f0c-d244-43c7-9daa-759ceab098c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-e1d7e569-f6ee-455e-9e06-3c3ab7f017fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e1d7e569-f6ee-455e-9e06-3c3ab7f017fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00200_lessee_member_cannot_add_portgroup [0.119866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00195_lessee_reader_can_read_portgroup [0.262292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00201_third_party_admin_cannot_add_portgroup [0.122134s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00202_owner_admin_can_modify_portgroup [0.090149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00203_owner_member_cannot_modify_portgroup [0.074929s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00198_owner_member_cannot_add_portgroup [0.397190s] ... 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-fe8b3991-1d86-4084-a0d2-e86452329aa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8bc61963-6404-434f-9198-aab2b7d5711e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8bc61963-6404-434f-9198-aab2b7d5711e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7bbe6a48-e799-4f91-b2da-13856ef35c50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7bbe6a48-e799-4f91-b2da-13856ef35c50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9dcb2f84-43a5-4b65-8eef-c28e4e7c7b31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9dcb2f84-43a5-4b65-8eef-c28e4e7c7b31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-3759eb4c-71d2-4770-a086-e46536fa979b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2023-10-12T03:27:46.668852+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-3759eb4c-71d2-4770-a086-e46536fa979b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2023-10-12T03:27:46.668852+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 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-783e59b7-3a8b-49f5-aed4-a141416dd034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:46.919374+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-783e59b7-3a8b-49f5-aed4-a141416dd034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:27:46.919374+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': '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-615878f4-e347-49fe-a12b-0d23bc56e530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00199_lessee_admin_cannot_add_portgroup [0.198357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00204_lessee_admin_cannot_modify_portgroup [0.122718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00254_lessee_admin_cannot_patch_volume_connectors [0.459231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00209_lessee_admin_cannot_delete_portgroup [0.214128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00206_third_party_admin_cannot_modify_portgroup [0.328622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00207_owner_admin_can_delete_portgroup [0.221018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00219_lessee_reader_can_read_port [0.165314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00256_third_party_admin_cannot_patch_volume_connectors [0.261093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00211_third_party_admin_cannot_delete_portgroup [0.114682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00220_third_party_admin_cannot_read_port [0.214283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00214_third_party_admin_cannot_get_portgroups [0.250644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00212_owner_reader_can_get_node_portgroups [0.238270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00257_owner_admin_can_delete_volume_connectors [0.268049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00224_lessee_admin_cannot_add_port [0.259270s] ... 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-920b5bcb-c0b2-4687-8a68-7bd933912def DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70cd127a-0be1-47bb-98ba-dca1fc6476f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-70cd127a-0be1-47bb-98ba-dca1fc6476f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/indicators/component/magic_light DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light 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-7ed3ced8-44f1-42a4-a31b-b56c15927907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7ed3ced8-44f1-42a4-a31b-b56c15927907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1e9698e0-a0ae-49ec-85ad-54a2e06a44cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG 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-1e9698e0-a0ae-49ec-85ad-54a2e06a44cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25961932-8404-486a-a641-29d0f3fecb89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-25961932-8404-486a-a641-29d0f3fecb89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-f671e67b-8d78-48a0-8795-d04a808f8a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f671e67b-8d78-48a0-8795-d04a808f8a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7719b749-258d-4f72-b14b-994bc36637b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7719b749-258d-4f72-b14b-994bc36637b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-f57b17eb-5b65-4f8a-b565-a121e02b6f67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f57b17eb-5b65-4f8a-b565-a121e02b6f67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-275c16ba-868d-4d51-8d78-fa084df23915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}]}]}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00215_owner_reader_can_list_ports [0.135519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00216_lessee_reader_can_list_ports [0.179539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00221_owner_admin_can_add_ports [0.107804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00225_lessee_member_cannot_add_port [0.112110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00213_lessee_reader_can_get_node_porgtroups [0.447168s] ... ok 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-0ec73bc6-2911-418a-898d-7e259ce5fd0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0ec73bc6-2911-418a-898d-7e259ce5fd0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c0440553-45ba-4d81-b41f-e38aaab6c15c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c0440553-45ba-4d81-b41f-e38aaab6c15c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-2c12d150-635e-407d-b697-3c9179c69906 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2c12d150-635e-407d-b697-3c9179c69906 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-659723ad-f464-4e03-95aa-71283539f0d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:46.782367+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-659723ad-f464-4e03-95aa-71283539f0d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:46.782367+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 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-039cbbef-fbcd-4eec-abd8-bc2b55b7cd08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-039cbbef-fbcd-4eec-abd8-bc2b55b7cd08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa13d29f-5d35-433a-955c-a11081a4aa0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa13d29f-5d35-433a-955c-a11081a4aa0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a2e1d19-e21a-4982-885f-1dbdbd3bc99d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8a2e1d19-e21a-4982-885f-1dbdbd3bc99d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4b9a15f7-0e1a-4d7f-bc2d-7100fadbec6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4b9a15f7-0e1a-4d7f-bc2d-7100fadbec6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00258_lessee_admin_can_delete_volume_connectors [0.382136s] ... 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-40834b84-d75f-4c53-aea7-d304950feb68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-40834b84-d75f-4c53-aea7-d304950feb68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea8c9b8b-6ada-493c-ab3c-f9a834c8d532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ea8c9b8b-6ada-493c-ab3c-f9a834c8d532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-b332fa98-ce9c-499d-b23d-a897d7441943 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b332fa98-ce9c-499d-b23d-a897d7441943 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-db87f957-7c03-4472-b509-d2902393ff54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-db87f957-7c03-4472-b509-d2902393ff54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-d1938742-2e46-4ed5-914e-e1790a9d2f29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:47.532130+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-d1938742-2e46-4ed5-914e-e1790a9d2f29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:47.532130+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 get /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 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-a765a043-568c-468d-bd94-8d72438b0c6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a765a043-568c-468d-bd94-8d72438b0c6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-26f15524-450d-4f90-93de-cf7cc380d30d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-26f15524-450d-4f90-93de-cf7cc380d30d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-3cf62921-d561-46ba-aff6-1a7d697b34ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00233_owner_member_cannot_delete_port [0.343031s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00272_third_party_admin_cannot_patch_volume_target [0.271544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00228_owner_member_cannot_modify_port [0.275774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00223_owner_member_cannot_add_port [0.369413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00241_lessee_reader_can_get_ports_by_portgroup [0.386736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00276_lessee_member_cannot_delete_volume_target [0.334803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00229_lessee_admin_cannot_modify_port [0.349139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00247_lessee_admin_cannot_post_volume_connector [0.293947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00227_owner_admin_can_modify_port [0.324278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00255_owner_member_can_patch_volume_connectors [0.191025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00278_owner_reader_can_get_volume_connectors [0.365133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00230_lessee_member_cannot_modify_port [0.321978s] ... 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-615878f4-e347-49fe-a12b-0d23bc56e530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-68371ffa-5ffc-4087-98da-ec8948c3d1ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-68371ffa-5ffc-4087-98da-ec8948c3d1ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d846ebb-0402-436a-a54f-ca53d706495a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2d846ebb-0402-436a-a54f-ca53d706495a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-04e8a1be-5eb9-49fe-8cab-5a590365851d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-04e8a1be-5eb9-49fe-8cab-5a590365851d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-56595fe2-750a-4568-9a1d-603d4f3ddd00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-56595fe2-750a-4568-9a1d-603d4f3ddd00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-416021fd-b0e9-499d-ba37-b001bcba0fcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-416021fd-b0e9-499d-ba37-b001bcba0fcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-758430f1-2ad5-4f65-964d-7d378cf915dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-758430f1-2ad5-4f65-964d-7d378cf915dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62570336-e766-4a42-b3f2-ce49b8e76f9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-62570336-e766-4a42-b3f2-ce49b8e76f9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-e93ac0cc-9992-4975-822f-6a62e2b29f5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00243_owner_reader_can_list_volume_connectors [0.367025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00262_third_party_admin_cannot_get_target_list [0.254197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00231_third_party_admin_cannot_modify_port [0.362162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00281_owner_reader_can_get_node_volume_targets [0.428116s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00263_owner_reader_can_get_volume_target [0.237567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00245_third_party_admin_cannot_get_connector_list [0.358613s] ... 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-275c16ba-868d-4d51-8d78-fa084df23915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-5c4d400f-6e78-4c81-aca2-74d8b1d7f243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5c4d400f-6e78-4c81-aca2-74d8b1d7f243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '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-87da84b5-41ef-4625-938f-a546ec27c012 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-87da84b5-41ef-4625-938f-a546ec27c012 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-bb7467ff-fcc0-4343-bc1c-8e08226e4d01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bb7467ff-fcc0-4343-bc1c-8e08226e4d01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8e0bf162-d8d5-4060-95bc-4a3a77b0e430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8e0bf162-d8d5-4060-95bc-4a3a77b0e430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8bb2edb3-70c2-476f-ad68-bbb018349718 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8bb2edb3-70c2-476f-ad68-bbb018349718 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f4c94786-6c72-40b2-99f4-9900870cd75d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f4c94786-6c72-40b2-99f4-9900870cd75d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5968cbf-4060-41b6-a5f8-0540b5c1eff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b5968cbf-4060-41b6-a5f8-0540b5c1eff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00234_lessee_admin_cannot_delete_port [0.342038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00284_owner_reader_cannot_get_drivers [0.345955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00266_owner_admin_create_volume_target [0.288728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00235_lessee_member_cannot_delete_port [0.297913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00298_owner_reader_can_get_their_allocation [0.288427s] ... 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-3cf62921-d561-46ba-aff6-1a7d697b34ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-30bfcd57-e7fc-43b3-876f-3f981eae01c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-30bfcd57-e7fc-43b3-876f-3f981eae01c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": []} 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-f068e83f-0908-4e5d-91c2-eb4252eaca70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f068e83f-0908-4e5d-91c2-eb4252eaca70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-56c5ca86-ce4a-4f7b-9f66-df71cf70bd2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-56c5ca86-ce4a-4f7b-9f66-df71cf70bd2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5c45759f-c88a-4d57-a0c0-b3ad162b51fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5c45759f-c88a-4d57-a0c0-b3ad162b51fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cfa465f3-a190-4c46-8559-5488298c7e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:49.661986+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-cfa465f3-a190-4c46-8559-5488298c7e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:49.661986+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/c8d2f804-f661-4eec-804a-10a64d3e9ede DEBUG util.py:445: Openstack-Request-Id: req-26a63b00-f6fe-4517-aed2-be39151e8e25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c8d2f804-f661-4eec-804a-10a64d3e9ede", "created_at": "2023-10-12T03:27:50.026003+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/c8d2f804-f661-4eec-804a-10a64d3e9ede", "rel": "self"}, {"href": "http://localhost/volume/targets/c8d2f804-f661-4eec-804a-10a64d3e9ede", "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/c8d2f804-f661-4eec-804a-10a64d3e9ede DEBUG util.py:445: Openstack-Request-Id: req-26a63b00-f6fe-4517-aed2-be39151e8e25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c8d2f804-f661-4eec-804a-10a64d3e9ede", "created_at": "2023-10-12T03:27:50.026003+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/c8d2f804-f661-4eec-804a-10a64d3e9ede", "rel": "self"}, {"href": "http://localhost/volume/targets/c8d2f804-f661-4eec-804a-10a64d3e9ede", "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': '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-118297cf-f7e8-46ed-90bb-9d01ff4ab58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-118297cf-f7e8-46ed-90bb-9d01ff4ab58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00268_third_party_admin_cannot_create_volume_target [0.329383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00273_owner_admin_can_delete_volume_target [0.252979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00236_third_party_admin_cannot_delete_port [0.392473s] ... 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-6069af3a-1889-4ebd-903a-a88184d57e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6069af3a-1889-4ebd-903a-a88184d57e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff238cbe-f5e9-4730-81c0-230d434d3db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ff238cbe-f5e9-4730-81c0-230d434d3db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c68a1e1b-527f-4951-8bf3-e62398a7ad28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c68a1e1b-527f-4951-8bf3-e62398a7ad28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-04eb49c6-77d9-4b81-adcf-e4d1e6ee715f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-04eb49c6-77d9-4b81-adcf-e4d1e6ee715f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-27c6a933-c3c4-48af-a62b-cd991aece955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-27c6a933-c3c4-48af-a62b-cd991aece955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/fed1d687-f602-4a79-9a7f-7b834f97678a DEBUG util.py:445: GET: /v1/allocations/fed1d687-f602-4a79-9a7f-7b834f97678a {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b64c70e-9675-4e23-ab49-a120645e809e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "fed1d687-f602-4a79-9a7f-7b834f97678a", "created_at": "2023-10-12T03:27:50.184608+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/fed1d687-f602-4a79-9a7f-7b834f97678a", "rel": "self"}, {"href": "http://localhost/allocations/fed1d687-f602-4a79-9a7f-7b834f97678a", "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-8b64c70e-9675-4e23-ab49-a120645e809e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "fed1d687-f602-4a79-9a7f-7b834f97678a", "created_at": "2023-10-12T03:27:50.184608+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/fed1d687-f602-4a79-9a7f-7b834f97678a", "rel": "self"}, {"href": "http://localhost/allocations/fed1d687-f602-4a79-9a7f-7b834f97678a", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/7e329bb7-48fa-488e-8272-23e9c84c9c9a DEBUG util.py:445: DELETE: /v1/allocations/7e329bb7-48fa-488e-8272-23e9c84c9c9a 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-4ec7785b-8c67-4206-86d9-a9aa2ae6efa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00300_owner_admin_can_delete_their_allocation [0.385004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00246_owner_admin_can_post_volume_connector [0.977519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00275_owner_member_cannot_delete_volume_target [0.176654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00286_third_party_admin_cannot_get_drivers [0.139697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00237_owner_reader_can_get_node_ports [0.362388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00250_lessee_reader_can_get_volume_connector [0.294403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00309_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.385012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00289_third_party_admin_cannot_get_drivers_vendor_passthru [0.213436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00290_owner_reader_can_get_bios_setttings [0.173720s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00251_third_party_admin_cannot_get_volume_connector [0.339453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00310_owner_admin_can_create_allocation_with_their_uuid [0.347078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00238_lessee_reader_can_get_node_port [0.379067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00302_owner_member_can_delete_their_allocation [0.198074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00259_third_party_admin_cannot_delete_volume_connector [0.327899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00304_owner_member_can_patch_allocation [0.224407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00239_third_party_admin_cannot_get_ports [0.450279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00306_third_party_admin_can_get_allocations [0.348490s] ... 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-e93ac0cc-9992-4975-822f-6a62e2b29f5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 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-ce04f4f7-016b-4b5d-b352-d2c3755eea16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ce04f4f7-016b-4b5d-b352-d2c3755eea16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/d2863988-a945-4ff6-8872-345d0e9816e3 DEBUG util.py:445: Openstack-Request-Id: req-d4cb68d0-fd1f-4da6-bcdd-51efbbdc5815 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d2863988-a945-4ff6-8872-345d0e9816e3", "created_at": "2023-10-12T03:27:50.776093+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/d2863988-a945-4ff6-8872-345d0e9816e3", "rel": "self"}, {"href": "http://localhost/volume/connectors/d2863988-a945-4ff6-8872-345d0e9816e3", "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/d2863988-a945-4ff6-8872-345d0e9816e3 DEBUG util.py:445: Openstack-Request-Id: req-d4cb68d0-fd1f-4da6-bcdd-51efbbdc5815 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d2863988-a945-4ff6-8872-345d0e9816e3", "created_at": "2023-10-12T03:27:50.776093+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/d2863988-a945-4ff6-8872-345d0e9816e3", "rel": "self"}, {"href": "http://localhost/volume/connectors/d2863988-a945-4ff6-8872-345d0e9816e3", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-08876fa4-e15d-4680-a11b-54a0635ebc34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:51.002706+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-08876fa4-e15d-4680-a11b-54a0635ebc34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:51.002706+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-67e0f5f8-6cdb-40ff-8c4f-d2d33f6b692f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-67e0f5f8-6cdb-40ff-8c4f-d2d33f6b692f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1d8f8bff-abc5-49d1-b490-db274da6ec2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1d8f8bff-abc5-49d1-b490-db274da6ec2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-29074511-932a-4038-8732-95ad51c30068 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:51.905845+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-29074511-932a-4038-8732-95ad51c30068 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:27:51.905845+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"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00264_lessee_reader_can_get_volume_target [0.254237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00312_third_party_admin_cannot_patch_an_allocation [0.769174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00240_owner_reader_can_get_ports_by_portgroup [0.362510s] ... ok 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-d60067a9-1107-4d12-b4e1-49a452df9d9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d60067a9-1107-4d12-b4e1-49a452df9d9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7bad82ee-b22d-4af5-943d-a42ee88ecb15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7bad82ee-b22d-4af5-943d-a42ee88ecb15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-7938e31b-834a-4e70-b5d7-a676d64254f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-7938e31b-834a-4e70-b5d7-a676d64254f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2aa0fac6-ebba-408e-8507-2ad81bc65b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-2aa0fac6-ebba-408e-8507-2ad81bc65b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-428f6083-e9c7-4e75-a280-9a2fc837bea3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-428f6083-e9c7-4e75-a280-9a2fc837bea3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/4fa71158-8990-4397-9b6e-a25a4980eae8 DEBUG util.py:445: DELETE: /v1/allocations/4fa71158-8990-4397-9b6e-a25a4980eae8 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-7477de45-7ba1-45f7-abac-e57056c450d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7477de45-7ba1-45f7-abac-e57056c450d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/3f0c23e2-627c-4ffd-b700-06e99b53d99e DEBUG util.py:445: PATCH: /v1/allocations/3f0c23e2-627c-4ffd-b700-06e99b53d99e [{'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-1d89907b-d94c-4372-8f1f-9a28a7bb160c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3f0c23e2-627c-4ffd-b700-06e99b53d99e", "created_at": "2023-10-12T03:27:51.654164+00:00", "updated_at": "2023-10-12T03:27:51.728367+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/3f0c23e2-627c-4ffd-b700-06e99b53d99e", "rel": "self"}, {"href": "http://localhost/allocations/3f0c23e2-627c-4ffd-b700-06e99b53d99e", "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-1d89907b-d94c-4372-8f1f-9a28a7bb160c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3f0c23e2-627c-4ffd-b700-06e99b53d99e", "created_at": "2023-10-12T03:27:51.654164+00:00", "updated_at": "2023-10-12T03:27:51.728367+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/3f0c23e2-627c-4ffd-b700-06e99b53d99e", "rel": "self"}, {"href": "http://localhost/allocations/3f0c23e2-627c-4ffd-b700-06e99b53d99e", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-ee6dc537-485e-42cb-b1a2-beab3deb9413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ee6dc537-485e-42cb-b1a2-beab3deb9413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/d0279f51-4d70-4dca-8911-f07039bfd221 DEBUG util.py:445: DELETE: /v1/allocations/d0279f51-4d70-4dca-8911-f07039bfd221 DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00313_third_party_admin_cannot_delete_an_allocation [0.173460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00265_third_party_admin_cannot_get_volume_target [0.381846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00320_owner_reader_cannot_get_deploy_templates [0.238035s] ... ok 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-29c88fbb-b328-4957-b0f2-e52f90d8d283 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-29c88fbb-b328-4957-b0f2-e52f90d8d283 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b610e8c-a710-452d-a9e9-3e471fac570c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5b610e8c-a710-452d-a9e9-3e471fac570c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1b3f3f38-fdd7-4663-9cea-c4f6c5967bb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1b3f3f38-fdd7-4663-9cea-c4f6c5967bb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-faba38ec-4053-4a01-9092-ded769a13e6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-faba38ec-4053-4a01-9092-ded769a13e6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-296e89c2-dc8d-4e9b-9cb1-7da9847b6b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-296e89c2-dc8d-4e9b-9cb1-7da9847b6b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-6bdf664d-ca7a-478b-90ce-864cfbe4e5c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6bdf664d-ca7a-478b-90ce-864cfbe4e5c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-75624d49-0f0d-41a4-b487-5c08a240aa86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-75624d49-0f0d-41a4-b487-5c08a240aa86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a8397ad5-1a78-46c3-b4e9-d0093367eafa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a8397ad5-1a78-46c3-b4e9-d0093367eafa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}]}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00244_lessee_reader_can_list_volume_connectors [0.243866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00314_owner_reader_can_read_node_allocation [0.370521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00269_owner_member_can_patch_volume_target [0.302480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00252_lessee_member_cannot_patch_volume_connectors [0.222002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00321_lessee_reader_cannot_get_deploy_templates [0.252377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00316_third_party_admin_cannot_read_node_allocation [0.196631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00322_third_party_admin_cannot_get_deploy_templates [0.151130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00253_owner_admin_can_patch_volume_connectors [0.211619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00270_lessee_admin_can_patch_volume_target [0.260017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00319_third_party_admin_cannot_delete_allocation [0.219003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00325_lessee_reader_cannot_access_chassis [0.170410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00271_lessee_member_cannot_patch_volume_target [0.248155s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00260_owner_reader_can_get_targets [0.239502s] ... 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-4ec7785b-8c67-4206-86d9-a9aa2ae6efa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-9107718b-1c9a-4591-93f9-d940fb169240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9107718b-1c9a-4591-93f9-d940fb169240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 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-b54208fb-9c92-441a-ba39-f3f30bda9d5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b54208fb-9c92-441a-ba39-f3f30bda9d5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/90d1831f-5e39-499f-b490-bf6c6e244a6a DEBUG util.py:445: PATCH: /v1/allocations/90d1831f-5e39-499f-b490-bf6c6e244a6a [{'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-18e54cf0-58f6-43b0-8c8b-20cdba4e636b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 90d1831f-5e39-499f-b490-bf6c6e244a6a 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-18e54cf0-58f6-43b0-8c8b-20cdba4e636b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 90d1831f-5e39-499f-b490-bf6c6e244a6a could not be found.\", \"debuginfo\": null}"} 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-236a0dc0-7d42-4161-844e-3a0ec1f0ad29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "00bc1c33-2d33-474b-bef2-39b2dd71e8ac", "created_at": "2023-10-12T03:27:52.459250+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/00bc1c33-2d33-474b-bef2-39b2dd71e8ac", "rel": "self"}, {"href": "http://localhost/allocations/00bc1c33-2d33-474b-bef2-39b2dd71e8ac", "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-236a0dc0-7d42-4161-844e-3a0ec1f0ad29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "00bc1c33-2d33-474b-bef2-39b2dd71e8ac", "created_at": "2023-10-12T03:27:52.459250+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/00bc1c33-2d33-474b-bef2-39b2dd71e8ac", "rel": "self"}, {"href": "http://localhost/allocations/00bc1c33-2d33-474b-bef2-39b2dd71e8ac", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-69c2d89e-1e3f-4eab-bdb2-6e0f517ece96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69c2d89e-1e3f-4eab-bdb2-6e0f517ece96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e36841ff-79f2-4ceb-a42e-dc6ca4eef184 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e36841ff-79f2-4ceb-a42e-dc6ca4eef184 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-7ccbd417-4a15-4c70-b0ec-dcb58119bcaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-7ccbd417-4a15-4c70-b0ec-dcb58119bcaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00323_third_party_admin_cannot_post_deploy_template [0.217309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00002_nodes_post_admin [0.247105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00261_lesse_reader_can_get_targets [0.268079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00324_owner_reader_cannot_access_chassis [0.221838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00277_third_party_admin_cannot_delete_volume_target [0.291778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00326_third_party_admin_cannot_access_chassis [0.132445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00280_third_party_admin_cannot_get_node_volume_connectors [0.170967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00003_nodes_post_member [0.351595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00011_nodes_detail_get_admin [0.143369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00267_lessee_admin_create_volume_target [0.385261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00283_third_part_admin_cannot_read_node_volume_targets [0.200424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00005_nodes_get_node_admin [0.200953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00012_nodes_detail_get_member [0.153203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00288_lessee_reader_cannot_get_drivers_vendor_passthru [0.091148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00015_nodes_node_ident_get_member [0.141072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00009_nodes_get_admin [0.178209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00023_nodes_validate_get_admin [0.220770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.268104s] ... ok 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-7dc0a236-2d7b-4ffb-b559-16ff0e4814f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7dc0a236-2d7b-4ffb-b559-16ff0e4814f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fe1ec768-87e6-4969-8a2e-91b6190cb42a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fe1ec768-87e6-4969-8a2e-91b6190cb42a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6b494676-b546-4c39-a930-d8e2c4041dfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b494676-b546-4c39-a930-d8e2c4041dfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c32f9cb4-53d2-4a92-b044-fb2d9171680d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c32f9cb4-53d2-4a92-b044-fb2d9171680d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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/a6bdf5a1-8685-46ee-9ac9-bf605335c3b3 DEBUG util.py:445: Openstack-Request-Id: req-17ebfb20-d7c3-4398-892b-c9feda67909f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "a6bdf5a1-8685-46ee-9ac9-bf605335c3b3", "created_at": "2023-10-12T03:27:53.837009+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a6bdf5a1-8685-46ee-9ac9-bf605335c3b3", "rel": "self"}, {"href": "http://localhost/volume/targets/a6bdf5a1-8685-46ee-9ac9-bf605335c3b3", "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/a6bdf5a1-8685-46ee-9ac9-bf605335c3b3 DEBUG util.py:445: Openstack-Request-Id: req-17ebfb20-d7c3-4398-892b-c9feda67909f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "a6bdf5a1-8685-46ee-9ac9-bf605335c3b3", "created_at": "2023-10-12T03:27:53.837009+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a6bdf5a1-8685-46ee-9ac9-bf605335c3b3", "rel": "self"}, {"href": "http://localhost/volume/targets/a6bdf5a1-8685-46ee-9ac9-bf605335c3b3", "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-1bf83232-7c8f-495b-8cf7-1436e36e71e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1bf83232-7c8f-495b-8cf7-1436e36e71e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00274_lessee_admin_can_delete_volume_target [0.284116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00024_nodes_validate_get_member [0.074569s] ... ok 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-c56e7dd3-7dfd-491a-aa3a-372f5de3fce1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c56e7dd3-7dfd-491a-aa3a-372f5de3fce1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5639eb36-20c1-4d66-a3af-3209b172c3fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5639eb36-20c1-4d66-a3af-3209b172c3fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d3730c15-b2a4-47a1-9fc6-4a2f1d04ff72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d3730c15-b2a4-47a1-9fc6-4a2f1d04ff72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-893aaa2a-cfd4-4991-8fc8-c7811b547bed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-893aaa2a-cfd4-4991-8fc8-c7811b547bed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa243ed7-2b7e-4abc-b99e-506624144b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa243ed7-2b7e-4abc-b99e-506624144b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86f78967-b77a-4293-a693-5e639b5262f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-86f78967-b77a-4293-a693-5e639b5262f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-1ea593df-ab84-4a66-8327-98d8b762bfd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1ea593df-ab84-4a66-8327-98d8b762bfd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-098c3dbb-3bc4-49ba-81fe-6d2348eef7e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-098c3dbb-3bc4-49ba-81fe-6d2348eef7e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} 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-b2a88049-3277-4598-8b57-d2c2933bd08b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": []}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00291_lessee_reader_can_get_bios_settings [0.141697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00293_owner_reader_cannot_get_conductors [0.203908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00299_lessee_reader_can_get_their_allocation [0.139667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.072342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00025_nodes_validate_get_observer [0.236547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.066965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00279_lessee_reader_can_get_node_volume_connectors [0.508602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00303_lessee_member_can_delete_their_allocation [0.187202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.155793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00305_lessee_member_can_patch_allocation [0.212834s] ... 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-b2c4b9b6-bc72-42f0-a69a-f3836e28b2eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d0279f51-4d70-4dca-8911-f07039bfd221 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-b2c4b9b6-bc72-42f0-a69a-f3836e28b2eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d0279f51-4d70-4dca-8911-f07039bfd221 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-928ea518-f3f7-4cb6-b1e3-f451e504e9fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-928ea518-f3f7-4cb6-b1e3-f451e504e9fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-aec560a9-d807-4b79-87f5-91e254e45f4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-aec560a9-d807-4b79-87f5-91e254e45f4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-979a33f7-998b-4a5e-9733-0a2001937df3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-979a33f7-998b-4a5e-9733-0a2001937df3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-0d8aba0c-bac7-407a-8c00-f46eedd2a3bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-0d8aba0c-bac7-407a-8c00-f46eedd2a3bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-556a111b-13b8-4f82-9217-1745ff83b7ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-4177bcdb-c2ec-491f-b453-c54f4e465d1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-2e9af387-0848-4a78-93f1-54d4bed489c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-646b4856-2d10-4b14-9fdf-b29a8ea32589 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b1786f61-e5a7-474b-b9eb-60f672cea925 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-7b0f1b76-298e-42dd-8f94-709baba689dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-6818ac49-1079-4954-a63a-474d750ff7ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00027_nodes_maintenance_put_member [0.165727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00282_lessee_reader_can_get_node_volume_targets [0.290450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.222177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.246911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00307_third_party_admin_can_create_allocation [0.151377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.217310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00051_nodes_states_provision_put_member [0.228905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.110781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00308_third_party_admin_cannot_create_allocation_with_owner_node [0.296449s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00285_lessee_reader_cannot_get_drivers [0.401193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00055_nodes_states_raid_put_observer [0.192317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00045_nodes_states_get_member [0.133827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00287_owner_reader_cannot_get_drivers_vendor_passthru [0.294373s] ... ok 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-6e2667c4-7296-4768-94e6-33165ef2be54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-6e2667c4-7296-4768-94e6-33165ef2be54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-dd030143-1124-4215-ad06-69d43c206d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-dd030143-1124-4215-ad06-69d43c206d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-d2a9f4ba-fa30-4cf5-8209-6954b2b2c9e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4ea5f58a-aa43-497f-bd43-f05bec51f8bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3a0918d2-d3e8-45b7-8c80-df40a6c3776c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-48f99bfc-e22f-4eb5-821b-caa15e42c54b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2237e0b1-b2be-4068-aaf5-490308e4d9c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e4093d02-a407-4132-a06e-a74d0b7aa446 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-6b27cac5-f612-4881-8be7-2b6f4cfff3f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-43510a79-addd-4488-b05d-419444c99af0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-01a70696-0da0-45da-aa58-f956d299ef48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b8633e50-cdd9-454a-94fb-5ca1ac941885 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-7defee36-c79e-4245-8372-f66d0d646c01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-86d7e00a-23fc-408f-a215-e359bc5652a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00059_nodes_states_console_put_member [0.141814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00046_nodes_states_get_observer [0.287541s] ... 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-b2a88049-3277-4598-8b57-d2c2933bd08b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": []} 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-8f8a0389-2833-4bfb-b33e-0f8eb0590aa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-8f8a0389-2833-4bfb-b33e-0f8eb0590aa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/13941ed5-4cf8-4c50-a85f-2ce8f50a5711 DEBUG util.py:445: GET: /v1/allocations/13941ed5-4cf8-4c50-a85f-2ce8f50a5711 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc6eebdb-6e61-41af-82fe-3cc889c4d0bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "13941ed5-4cf8-4c50-a85f-2ce8f50a5711", "created_at": "2023-10-12T03:27:54.411160+00:00", "updated_at": null, "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/13941ed5-4cf8-4c50-a85f-2ce8f50a5711", "rel": "self"}, {"href": "http://localhost/allocations/13941ed5-4cf8-4c50-a85f-2ce8f50a5711", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} 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-cc6eebdb-6e61-41af-82fe-3cc889c4d0bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "13941ed5-4cf8-4c50-a85f-2ce8f50a5711", "created_at": "2023-10-12T03:27:54.411160+00:00", "updated_at": null, "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/13941ed5-4cf8-4c50-a85f-2ce8f50a5711", "rel": "self"}, {"href": "http://localhost/allocations/13941ed5-4cf8-4c50-a85f-2ce8f50a5711", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/0ab9b6fd-d261-4523-954f-fbe1ea42f8e8 DEBUG util.py:445: DELETE: /v1/allocations/0ab9b6fd-d261-4523-954f-fbe1ea42f8e8 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-d14b63fb-ecc2-4cbc-9710-086c15aa15dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d14b63fb-ecc2-4cbc-9710-086c15aa15dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/617c32d1-58a9-4597-9743-962dcf3f7a50 DEBUG util.py:445: PATCH: /v1/allocations/617c32d1-58a9-4597-9743-962dcf3f7a50 [{'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-add7e649-163a-425f-b88e-87237be90921 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "617c32d1-58a9-4597-9743-962dcf3f7a50", "created_at": "2023-10-12T03:27:54.745165+00:00", "updated_at": "2023-10-12T03:27:54.828014+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/617c32d1-58a9-4597-9743-962dcf3f7a50", "rel": "self"}, {"href": "http://localhost/allocations/617c32d1-58a9-4597-9743-962dcf3f7a50", "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-add7e649-163a-425f-b88e-87237be90921 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "617c32d1-58a9-4597-9743-962dcf3f7a50", "created_at": "2023-10-12T03:27:54.745165+00:00", "updated_at": "2023-10-12T03:27:54.828014+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/617c32d1-58a9-4597-9743-962dcf3f7a50", "rel": "self"}, {"href": "http://localhost/allocations/617c32d1-58a9-4597-9743-962dcf3f7a50", "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'} 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-84fe1547-0945-425d-9a43-d16f09da4982 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-84fe1547-0945-425d-9a43-d16f09da4982 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0e07b97b-521e-45a5-bfda-8cee24fe8735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0e07b97b-521e-45a5-bfda-8cee24fe8735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/allocations/84d3e352-6bba-4537-becd-2a5fc8dc3e2b DEBUG util.py:445: GET: /v1/allocations/84d3e352-6bba-4537-becd-2a5fc8dc3e2b {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30986a15-5e55-451f-9dcc-89a22ddf452c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 84d3e352-6bba-4537-becd-2a5fc8dc3e2b could not be found.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00311_third_party_admin_cannot_read_an_allocation [0.335181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00061_nodes_vendor_passthru_methods_get_admin [0.250054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00063_nodes_vendor_passthru_methods_get_observer [0.093054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00068_nodes_vendor_passthru_post_member [0.113401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00292_third_party_admin_cannot_get_bios_settings [0.411652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00053_nodes_states_raid_put_admin [0.374849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00315_lessee_reader_can_read_node_allocation [0.433211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00054_nodes_states_raid_put_member [0.098604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00058_nodes_states_console_put_admin [0.076435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00069_nodes_vendor_passthru_post_observer [0.412182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00327_third_party_admin_cannot_create_chassis [0.405575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00065_nodes_vendor_passthru_get_member [0.308043s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00073_nodes_vendor_passthru_delete_admin [0.257646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00070_nodes_vendor_passthru_put_admin [0.168014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00004_nodes_post_observer [0.269225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00006_nodes_get_node_member [0.136319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00074_nodes_vendor_passthru_delete_member [0.186201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00080_nodes_traits_put_member [0.308587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00294_lessee_reader_cannot_get_conductors [1.010028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00295_third_party_admin_cannot_get_conductors [0.103598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00007_nodes_get_node_observer [0.260197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00076_nodes_traits_get_admin [0.333133s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00082_nodes_traits_delete_admin [0.286012s] ... ok 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-f6d8034a-d772-4f64-b8b0-f2335f5672d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f6d8034a-d772-4f64-b8b0-f2335f5672d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8a08bba8-00e1-4a94-a881-3227c6d77e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8a08bba8-00e1-4a94-a881-3227c6d77e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-2c962350-ee0d-4535-bf83-dfe5aa8231d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2c962350-ee0d-4535-bf83-dfe5aa8231d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-335c0b17-fa37-4b1b-bd40-c9f4fab57233 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-335c0b17-fa37-4b1b-bd40-c9f4fab57233 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e618bdbe-e72c-4bfe-89d6-d774b40438d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e618bdbe-e72c-4bfe-89d6-d774b40438d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a55180f2-aa78-4def-a882-8cfab552fd90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-a55180f2-aa78-4def-a882-8cfab552fd90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-d8c94408-9370-47a1-8446-204ef75b50db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-d8c94408-9370-47a1-8446-204ef75b50db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-64f1dd2b-e49a-4370-a2ed-0cc4df64a0df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "f8181366-762d-4387-9bec-7c7ae9bb2ada", "created_at": "2023-10-12T03:27:57.290386+00:00", "updated_at": null, "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/f8181366-762d-4387-9bec-7c7ae9bb2ada", "rel": "self"}, {"href": "http://localhost/allocations/f8181366-762d-4387-9bec-7c7ae9bb2ada", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]}{0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00296_owner_reader_can_get_allocations [0.154486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00297_lessee_reader_can_get_allocations [0.148191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00010_nodes_get_other_admin [0.307712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00092_nodes_vifs_get_member [0.264076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00077_nodes_traits_get_member [0.356165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00301_lessee_admin_can_delete_their_allocation [0.142080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00094_nodes_vifs_post_admin [0.163538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00317_owner_admin_can_delete_allocation [0.160114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.333650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00081_nodes_traits_put_observer [0.282516s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00095_nodes_vifs_post_member [0.199978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00318_lessee_admin_can_delete_allocation [0.172191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.206852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00096_nodes_vifs_post_observer [0.270900s] ... ok DEBUG util.py:445: {0} 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.228135s] ... ok 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-92788610-8a90-431a-9b25-44681c5a7e6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-5129640f-ac75-43a7-ad1c-d756a4ffe32c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-bd00ab8e-e630-47bc-a0fa-4a8ee2caa0de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-39e9e082-be9c-49f6-a844-932d961892e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-36c864f6-737b-4008-85c1-e4d8bbae0553 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-873465f5-e870-4199-b41c-ccd849272e79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-3b9671cc-47ca-475c-94b9-9062bfdb065f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-059385f1-76a3-40e0-98d0-0bcf26f1d04e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-02953585-5d76-4665-a201-98dab118e184 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-97519591-3cbc-4093-b317-f070fef4cb38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c3b97521-8bcc-43be-ac95-cbc137a4c7fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2de00ca9-c0f8-4a28-b660-abdf67c4f833 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-833029f3-63bb-4890-913d-d26afda90aac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-91f485ce-915b-461d-ac6e-54a4bce91e54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00090_nodes_traits_trait_delete_observer [0.186763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00098_nodes_vifs_node_vif_ident_delete_member [0.078895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00104_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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00114_portgroups_detail_get_observer [0.061390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00122_portgroups_portgroup_ident_delete_member [0.116521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.205986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00123_portgroups_portgroup_ident_delete_observer [0.086562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00008_nodes_get_node_other_admin [0.304521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00097_nodes_vifs_node_vif_ident_delete_admin [0.430066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00124_nodes_portgroups_get_admin [0.105642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00129_nodes_portgroups_detail_get_observer [0.083943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.220931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00133_ports_post_admin [0.101712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00135_ports_post_observer [0.080844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00013_nodes_detail_get_observer [0.360843s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00099_nodes_vifs_node_vif_ident_delete_observer [0.326745s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00137_ports_detail_get_member [0.084366s] ... 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-30986a15-5e55-451f-9dcc-89a22ddf452c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 84d3e352-6bba-4537-becd-2a5fc8dc3e2b could not be found.\", \"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-fcea1cdd-f901-4921-ba58-fe8b07ec4c4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "0feaf8d5-19a7-40a9-b042-bd96db8ec39c", "created_at": "2023-10-12T03:27:55.939514+00:00", "updated_at": null, "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/0feaf8d5-19a7-40a9-b042-bd96db8ec39c", "rel": "self"}, {"href": "http://localhost/allocations/0feaf8d5-19a7-40a9-b042-bd96db8ec39c", "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-fcea1cdd-f901-4921-ba58-fe8b07ec4c4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "0feaf8d5-19a7-40a9-b042-bd96db8ec39c", "created_at": "2023-10-12T03:27:55.939514+00:00", "updated_at": null, "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/0feaf8d5-19a7-40a9-b042-bd96db8ec39c", "rel": "self"}, {"href": "http://localhost/allocations/0feaf8d5-19a7-40a9-b042-bd96db8ec39c", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} 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-fe32c2bc-1e72-4b97-8f39-87c2efc57a82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-fe32c2bc-1e72-4b97-8f39-87c2efc57a82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-75a3e648-9b1d-42bd-a2d4-c43d5254cd9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-0fe0ae74-3dec-4d63-a376-3bdc271973a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d18e761c-0681-4990-a960-730d949d354c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3306f84f-3d0b-4b58-876c-838f30f3b80b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3306f84f-3d0b-4b58-876c-838f30f3b80b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1fd4f27a-c6cb-48cb-9e54-eb238d0bd1be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-acc6684c-5ce8-4767-b1c0-f205d4eae833 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a6eb731e-40b9-4fd6-bd6d-bce05bfc8e53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2338d5a1-1987-40b7-90ca-ec2827450ddc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4f5e4f07-f05c-4651-851d-534cf4a587bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.256124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00141_ports_port_id_get_observer [0.084894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00143_ports_port_id_patch_member [0.084707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.227417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00144_ports_port_id_patch_observer [0.106868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.377302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00101_nodes_management_indicators_get_member [0.347823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00149_nodes_ports_get_member [0.090368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00050_nodes_states_provision_put_admin [0.212597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00152_nodes_ports_detail_get_member [0.099594s] ... ok 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-5211db1e-550d-4fd6-a1e0-0cfacbc762d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-cbe4608c-ec3c-470d-a5e1-f38f12d054ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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/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-efeb6c06-4213-43b2-8804-abab762b0de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-540e53ab-8a7d-4bf7-90f0-00e1c6367517 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f713ee59-236e-47e9-8a07-ae676c14e1c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1a014db9-0803-42d0-b21f-d81e6952b60b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-747a0103-f171-44fa-a79e-b9f80a14eae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-0741fc44-a96a-485a-8f5f-4b9771273c6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3bb8446c-86c5-4324-9f27-2a762ae08776 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5fcc17b9-0527-4401-8fff-08b8689779a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-73e84280-ef17-480c-a766-ae4000346e69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-494307dc-0b0c-4284-a443-5cd12d1a545a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-86cd0649-9279-40a6-a9df-9ff48d64dd3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e22d3f7d-b229-44f5-a049-6381b426cf0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-6b14c561-b1c2-418e-8f04-65ec1b32b753 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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/volume/connectors{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00167_volume_connectors_post_member [0.115581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.292165s] ... 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-f70c9fbc-94f9-4813-af4e-77dd1e11a0ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c3e1b6af-fdfa-4fad-92df-2fe660865f5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-abbbfcf8-a81d-4740-8462-ac8b1ceb3fd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b51d7a9a-f206-4db7-83ac-b03962c66769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1cb94923-47c6-4019-82df-df800ef86f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2610f8dd-e901-43c6-95f4-188e069b3486 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2da0075d-d2e4-4fb2-a4f2-17d1b050df01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c9d392a6-cbf5-4f36-97cb-039f9081cda1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-22e3079e-813b-4ed9-9447-5cd59c2904c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-76b2c00c-5c57-42bc-ae41-8716bc30a49c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-8b233219-f819-4bdb-bcdb-e493bbd5971c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-61d1b0bd-2752-4b62-9b47-a1711c4942b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f813308b-d0a9-4fca-91b3-1c49b18e59d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-47e6bf9e-36ee-4321-8406-2df5f5b9d7e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00102_nodes_management_indicators_get_observer [0.354439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00052_nodes_states_provision_put_observer [0.263079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00168_volume_connectors_post_observer [0.134376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00172_volume_volume_connector_id_patch_admin [0.084298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00173_volume_volume_connector_id_patch_member [0.093035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00056_nodes_states_console_get_admin [0.274963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00177_volume_volume_connector_id_delete_observer [0.086725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00105_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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00180_volume_targets_get_observer [0.068712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.432605s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00060_nodes_states_console_put_observer [0.311970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00109_portgroups_post_admin [0.323907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00182_volume_targets_post_member [0.318660s] ... 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-64f1dd2b-e49a-4370-a2ed-0cc4df64a0df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "f8181366-762d-4387-9bec-7c7ae9bb2ada", "created_at": "2023-10-12T03:27:57.290386+00:00", "updated_at": null, "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/f8181366-762d-4387-9bec-7c7ae9bb2ada", "rel": "self"}, {"href": "http://localhost/allocations/f8181366-762d-4387-9bec-7c7ae9bb2ada", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} 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-d491f543-15a6-463b-923d-dfd3ccc053fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "464a68c6-4286-485a-a00d-9a4146a26d94", "created_at": "2023-10-12T03:27:57.425913+00:00", "updated_at": null, "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/464a68c6-4286-485a-a00d-9a4146a26d94", "rel": "self"}, {"href": "http://localhost/allocations/464a68c6-4286-485a-a00d-9a4146a26d94", "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-d491f543-15a6-463b-923d-dfd3ccc053fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "464a68c6-4286-485a-a00d-9a4146a26d94", "created_at": "2023-10-12T03:27:57.425913+00:00", "updated_at": null, "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/464a68c6-4286-485a-a00d-9a4146a26d94", "rel": "self"}, {"href": "http://localhost/allocations/464a68c6-4286-485a-a00d-9a4146a26d94", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/a326c3b2-b8dc-4fde-827d-cf98075fdf9c DEBUG util.py:445: DELETE: /v1/allocations/a326c3b2-b8dc-4fde-827d-cf98075fdf9c 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-88f99a1e-0771-4e16-b190-4f399a111092 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-88f99a1e-0771-4e16-b190-4f399a111092 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8668cdb2-899d-45aa-bca3-dcb437857c2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8668cdb2-899d-45aa-bca3-dcb437857c2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-62dd42d9-945f-4298-b905-a5000cecc014 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-62dd42d9-945f-4298-b905-a5000cecc014 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b6362308-b6ba-45e9-908a-9409a62e713c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2686077b-0702-4b8f-9157-416dfe0946b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-b899234c-8cd7-4aa4-889c-fe8143d5e49d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-bc82df6d-cd80-479c-8e5f-81369db457c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d20147c9-a1a2-4cc1-a7e4-8b133015c59a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.295216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.128323s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00112_portgroups_detail_get_admin [0.190220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.081685s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00062_nodes_vendor_passthru_methods_get_member [0.335899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.074840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.074615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00116_portgroups_portgroup_ident_get_member [0.241795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00185_volume_volume_target_id_get_member [0.438323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.080670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.086164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00118_portgroups_portgroup_ident_patch_admin [0.210422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00044_nodes_states_get_admin [0.105526s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00064_nodes_vendor_passthru_get_admin [0.394770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00047_nodes_states_power_put_admin [0.081009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00186_volume_volume_target_id_get_observer [0.408476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00119_portgroups_portgroup_ident_patch_member [0.229730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00048_nodes_states_power_put_member [0.243637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00066_nodes_vendor_passthru_get_observer [0.379438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00189_volume_volume_target_id_patch_observer [0.313071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00120_portgroups_portgroup_ident_patch_observer [0.366636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00049_nodes_states_power_put_observer [0.355376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00075_nodes_vendor_passthru_delete_observer [0.332379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00190_volume_volume_target_id_delete_admin [0.358189s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00127_nodes_portgroups_detail_get_admin [0.329104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00057_nodes_states_console_get_member [0.282794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00084_nodes_traits_delete_observer [0.265676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00128_nodes_portgroups_detail_get_member [0.206008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00195_nodes_volume_get_observer [0.334165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00067_nodes_vendor_passthru_post_admin [0.359924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00087_nodes_traits_trait_put_observer [0.381032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00130_ports_get_admin [0.288456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00089_nodes_traits_trait_delete_member [0.098083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00071_nodes_vendor_passthru_put_member [0.149454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00201_nodes_volume_targets_get_observer [0.255719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00091_nodes_vifs_get_admin [0.078056s] ... ok 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-e595bb68-93d0-427e-96d9-37de5bac4f4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-11e123be-ad89-41f0-8fd9-669f2380dc3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-5171c59a-2677-4c8c-a0dd-f833134984c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-bf61f0ac-b93a-44c7-82cd-5f969a7fa89f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-3c7db56d-2bee-4a9e-8c5e-041d3436fb5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d2dee296-0328-4ed9-a1dd-0bd7773a7be5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ec12b485-5771-46eb-ba10-9f5ae5153c76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-0738aee7-72c7-4544-b934-fd7d3140f6e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b85c1cad-20c7-4f2a-b81e-eab9c4bfb8c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-459e04a0-1fbb-4350-a8c9-ca918302a471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-3ed56bcb-7d93-4776-bbac-87647c5bcdc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-bc755ec0-a875-46dd-8d52-d5c297f59a75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-0ca78bed-8164-4622-be95-baad6f2a5787 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-6646535b-67e7-4991-a4bb-3c4edb566c44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-da5a7881-ed1a-4ada-a988-b67b50a14ca7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00072_nodes_vendor_passthru_put_observer [0.169183s] ... 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81ec0d8c-32b7-4926-830a-ab5d93ac1a7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-818102cf-cc8c-40d6-85bc-664b491cfd2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-0b09a7f5-3f56-4b86-bde8-06ec9f539dc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-83b1f2aa-9e70-484b-b5c8-7c68b3ccda31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e8acb9c3-ea51-4f4f-bbb1-9accbc671491 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-68c0adbb-fcda-4f77-870f-a83ad2f5ebde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d286c302-2e49-434a-b54c-381ddc10a539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2da8b9e2-376f-424a-a2ed-cacf02281f4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f6813e53-86c7-4136-a972-35c510907cbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2164dcca-b6db-4daa-8de6-08449f209be5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-12dae05e-6907-4c8e-89b7-fe6bc5ebcc7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-16001250-79b3-4b60-afe9-29b3af948e86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ff2c4eae-ef32-4ff8-97a6-b6861743b422 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2324ca0e-b87c-4286-85ec-0f2f80a6f850 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f605db34-22f2-4fb2-afd4-a3177e9f9b21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00093_nodes_vifs_get_observer [0.096168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00078_nodes_traits_get_observer [0.253117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00134_ports_post_member [0.496811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00205_drivers_driver_name_get_admin [0.450922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00136_ports_detail_get_admin [0.304023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00079_nodes_traits_put_admin [0.378755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00147_ports_port_id_delete_observer [0.089609s] ... ok 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-c53cc34f-f5c5-4c2a-b849-4631ac0128b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-75772aae-b5ba-4c40-93a8-75fca267d299 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-349ddbae-5647-4217-9590-59d2ebc8edfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-29eaa9c6-7593-40d3-affb-52c9887509b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-324cc691-ba6f-4175-a34c-e55bacf6b4d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3b97e080-3aed-4009-b415-0ce82a5ffef1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e63c987d-14af-4590-942d-9c2b5baec84f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-767c1209-b08a-4b2a-8e2b-bd3b958c5edc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8237a5e8-97f3-43bd-8c69-7317df22e6ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b3de30a3-a83e-4097-80ef-12e5ff99f931 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e99b07bc-ea65-4da7-ba0f-95922f70a60a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0e2583bd-5ef7-429e-9be1-da585d26c7ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-63652b89-b2c4-47e3-a164-5b6eb2500769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e900a05f-1a33-4ead-b733-6f0ebbc5e09d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-7c51f470-cb56-45f6-87bd-3527a2f9f180 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00214_drivers_vendor_passthru_methods_get_admin [0.382831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00216_drivers_vendor_passthru_methods_get_observer [0.078475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00217_drivers_vendor_passthru_get_admin [0.074895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00100_nodes_management_indicators_get_admin [0.860713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00148_nodes_ports_get_admin [0.214783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00083_nodes_traits_delete_member [0.321911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00220_drivers_vendor_passthru_post_admin [0.209552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00103_nodes_management_indicators_component_get_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.TestRBACScoped.test_rbac_legacy_00085_nodes_traits_trait_put_admin [0.328438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00221_drivers_vendor_passthru_post_member [0.250901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00153_nodes_ports_detail_get_observer [0.449722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00108_portgroups_get_observer [0.302431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00086_nodes_traits_trait_put_member [0.344668s] ... ok 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-5b478965-887b-4deb-a057-99906bfee478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-3ccee1e0-0ab1-4cb5-a2c8-624d5fdbf6fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fa5d72f6-1f79-4f8d-ad30-e5e7293747a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2f12c0c8-7dfb-4e00-8c76-cc4812936365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-95d228c0-fa65-4188-aff1-ddd4501b305a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7e07cd38-b943-4803-a885-3c26b9ee34b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-edba3207-ce2e-4f0d-9e6d-3dcbeefa31d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b19bcf91-e04b-4f43-8d4b-f7fd44b9cdd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1b92f723-06ab-43b1-885d-60b0d6f9961d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-267edda4-dfec-43d9-9e8e-0c644fcb2870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ed134741-8edd-4ec6-b00c-ba3bde889b26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eeb6a9b0-97da-44f4-b06e-fca2ca6f3662 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-87a232d4-fdab-4ca1-ba1a-847b52f640af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ad5fa76e-ac8d-4dce-a542-0c1cc060b2a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-0d6c73eb-9716-4f7c-947c-0d6cd7cf9311 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00154_portgroups_ports_get_admin [0.379929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00222_drivers_vendor_passthru_post_observer [0.456912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00110_portgroups_post_member [0.310374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00088_nodes_traits_trait_delete_admin [0.276362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00111_portgroups_post_observer [0.268508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00224_drivers_vendor_passthru_put_member [0.311081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00155_portgroups_ports_get_member [0.370756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00106_portgroups_get_admin [0.243681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00225_drivers_vendor_passthru_put_observer [0.218295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00121_portgroups_portgroup_ident_delete_admin [0.262697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00161_volume_get_member [0.210559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00107_portgroups_get_member [0.180739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00229_nodes_bios_get_member [0.202262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00169_volume_volume_connector_id_get_admin [0.256749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00125_nodes_portgroups_get_member [0.329460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00113_portgroups_detail_get_member [0.265424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00230_nodes_bios_get_observer [0.126583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00241_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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00115_portgroups_portgroup_ident_get_admin [0.157183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00126_nodes_portgroups_get_observer [0.168770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00174_volume_volume_connector_id_patch_observer [0.314791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00242_allocations_post_observer [0.187641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00244_allocations_get_member [0.068280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00117_portgroups_portgroup_ident_get_observer [0.183361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00139_ports_port_id_get_admin [0.187388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00245_allocations_get_observer [0.081709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00261_deploy_templates_post_admin [0.081902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00131_ports_get_member [0.165888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00150_nodes_ports_get_observer [0.180505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00175_volume_volume_connector_id_delete_admin [0.322122s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00132_ports_get_observer [0.166594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00158_portgroups_ports_detail_get_member [0.189031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00138_ports_detail_get_observer [0.180211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00262_deploy_templates_post_member [0.403842s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00160_volume_get_admin [0.162044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00162_volume_get_observer [0.097402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00140_ports_port_id_get_member [0.195300s] ... 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: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac4cac55-c42f-47c0-8484-bd5902c6a755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-63f629c0-4495-48a5-84a5-55e368dc538c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-5d6cf782-ef26-49fc-afa5-b41f7ee35043 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-b8f5d166-689d-40ef-9f15-9eba684fbeea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-835c62af-2408-40b5-bf9f-f3205fea99ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-92542430-b566-4ccc-9d98-6816ea7b039a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-c2afc9f5-b685-4fa1-b8c2-b38af90a30b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-405242ed-fd3e-4b1a-8b0c-1489b666f94c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-90ffdd23-6e86-4de9-be83-37e52877fb68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1c4608dc-d722-4f1a-aae9-145c1e13f19a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"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-7d2ffe8e-e437-4c5e-a720-a94fc90500dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-18ebe4fb-70a7-4493-9664-b0766fa969f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-0f59a758-5106-44d7-b0e8-139c8345929d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-e5f074ed-85f4-4cf2-a459-fb6c8696fb99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-b275ecb1-e6ea-446a-a7b3-bea34a2b4840 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00264_deploy_templates_get_admin [0.156862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00163_volume_connectors_get_admin [0.193711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00266_deploy_templates_get_observer [0.195840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00176_volume_volume_connector_id_delete_member [0.674511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00164_volume_connectors_get_member [0.175181s] ... ok 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-45247b83-3968-4386-80d1-cea4297c12d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-af9224ff-b032-466c-befe-eac689da1ee1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4dc3bea2-eb4d-44f9-ac59-a92f6b5aea41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a856c7a9-2daf-4dde-8384-82757ac5f3c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-674544a1-1263-49b5-a59b-c23e30c8657e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f9811572-a4ec-49e3-a5b1-a9c0fe99da65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-dd60fdf1-b7e7-49b7-aade-70920b50a93d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d018138d-8062-483e-a4af-dae91a62c076 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c18e95a5-4285-417b-a291-ba88cdbc7a94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ae1921e8-a734-416d-9d5c-bde0ebfe60f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fcd60731-b2f4-4ab1-8f9d-5c65dfd730da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c0211ebd-7747-4b53-9c21-eac8d759d4ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0c96964a-0f73-417a-bee5-cad86a0ef65b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b4e77777-3143-4547-b581-cf3ba36b68ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f251fd18-b6c8-4a56-ab47-a6b9aa217e04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-edca85dc-8adc-4ca6-b416-26c0291acada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00142_ports_port_id_patch_admin [0.259206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00270_deploy_templates_deploy_template_id_patch_admin [0.194959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00145_ports_port_id_delete_admin [0.159320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00165_volume_connectors_get_observer [0.145491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00146_ports_port_id_delete_member [0.092346s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00183_volume_targets_post_observer [0.298527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00151_nodes_ports_detail_get_admin [0.090276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00156_portgroups_ports_get_observer [0.093572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00271_deploy_templates_deploy_template_id_patch_member [0.299929s] ... ok 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-f04a0e56-f099-40cd-884c-12c0fb41cbe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-44d59390-1a4e-4e39-9f1f-8a8873fce74b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4534fb9b-3ba6-49b4-80ac-febe9e7b7d00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f0cf2a82-7385-4ad9-989e-977f7d839e62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-6cb8e1f4-d7c5-477e-bb46-2fbcd2c1d464 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6a68af09-aa37-47ac-9d16-ae7276d8e619 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-330d68d8-d668-4d86-bfbc-c3fdf902a516 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-0ae7b2fe-d8fd-45b4-af9f-56d39a866f59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6f7cbead-18a7-4e81-aeaa-04117c1e33fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2d58da24-4e23-4f9c-8f2d-e4635dfe15d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f89a578f-a953-4ab8-ae9c-be2d52fd7985 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-205a3fc6-e362-4043-942b-0627918e37a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9f9c5d25-0017-4110-87b4-43cd4c40aee6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-50624c6c-4be5-49f0-a72b-40250e9d7e7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-040127c5-b078-4ef9-a1d3-d76b62c2d884 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3290f3fe-44b4-4855-b62c-c1a724d1decb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00166_volume_connectors_post_admin [0.179044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00157_portgroups_ports_detail_get_admin [0.075517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00184_volume_volume_target_id_get_admin [0.317874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00273_deploy_templates_deploy_template_id_delete_admin [0.157520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00170_volume_volume_connector_id_get_member [0.249319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00275_deploy_templates_deploy_template_id_delete_observer [0.157223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00187_volume_volume_target_id_patch_admin [0.264881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00199_nodes_volume_targets_get_admin [0.286477s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00276_chassis_post_admin [0.167788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00280_chassis_get_member [0.152303s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00159_portgroups_ports_detail_get_observer [0.615726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00200_nodes_volume_targets_get_member [0.251629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00188_volume_volume_target_id_patch_member [0.386102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00281_chassis_get_observer [0.221354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00202_drivers_get_admin [0.273542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00191_volume_volume_target_id_delete_member [0.242829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00282_chassis_detail_get_admin [0.174733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00171_volume_volume_connector_id_get_observer [0.382792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00284_chassis_detail_get_observer [0.142692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00196_nodes_volume_connectors_get_admin [0.184896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00209_drivers_properties_get_member [0.199589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00178_volume_targets_get_admin [0.251041s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00203_drivers_get_member [0.130852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00287_chassis_chassis_id_get_observer [0.143135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00210_drivers_properties_get_observer [0.203577s] ... ok 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-4fbbba4a-752a-4554-b7df-cb2f99df172d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ffdaa380-fdc9-4df8-9148-def00b39e285 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3b55ca75-2e80-4158-af5c-e37267b77595 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ca9955cc-d5c9-4a44-974a-4b1596f15197 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69328902-7256-47ba-a83f-fc0a9fa010f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69060c65-6be6-4221-ae21-35b2a4574354 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bb0b3fc9-5b92-49ae-a302-26c5894413f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e4857c3f-c0e3-4eff-a2a7-46fa2b33c81c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-98cacb06-1370-4724-b2a0-d16e18205dcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aba377c2-94ba-490d-86de-5f8bc6b5d008 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b15e0cf3-c8e2-40e0-8bdd-089baf2814fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7c8f30fe-71ef-4f1f-ba8a-6d5fd42277d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9c7ad066-aeb5-4c91-9e75-d6c8a73d361e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-7f3bb27f-7105-49d9-87d7-216c11f907f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-400280c0-796f-46f7-abe1-f23e4442f475 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00204_drivers_get_observer [0.110151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00291_chassis_chassis_id_delete_admin [0.179599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00179_volume_targets_get_member [0.201239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00206_drivers_driver_name_get_member [0.096749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00207_drivers_driver_name_get_observer [0.072738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00219_drivers_vendor_passthru_get_observer [0.227875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00003_nodes_post_member [0.207956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00181_volume_targets_post_admin [0.207690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00226_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_00212_drivers_raid_logical_disk_properties_get_member [0.173327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00013_nodes_detail_get_observer [0.157754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00213_drivers_raid_logical_disk_properties_get_observer [0.232142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00192_volume_volume_target_id_delete_observer [0.315044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00232_nodes_bios_bios_setting_get_member [0.253045s] ... ok 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-3261294b-832c-48a3-9750-dc1e63ce4650 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/e8101fd5-add6-4f22-abe0-330f3a728629 DEBUG util.py:445: PATCH: /v1/deploy_templates/e8101fd5-add6-4f22-abe0-330f3a728629 [{'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-0781a212-2320-480f-aa79-3d728b6205a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/4e56c1d9-0b0f-41fc-819e-83e7140200a2 DEBUG util.py:445: PATCH: /v1/deploy_templates/4e56c1d9-0b0f-41fc-819e-83e7140200a2 [{'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-482d6425-48ce-4503-bb7f-89fe2e83b525 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/41d3c12e-8782-4a4c-8ac6-a827aa93658d DEBUG util.py:445: DELETE: /v1/deploy_templates/41d3c12e-8782-4a4c-8ac6-a827aa93658d 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-a33fddee-d54b-48ed-a65a-98cd4bd55393 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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/eed707d1-0813-4f4c-88c2-3b0ec90b034c DEBUG util.py:445: DELETE: /v1/deploy_templates/eed707d1-0813-4f4c-88c2-3b0ec90b034c 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-118ba088-9faa-45b7-8313-ce14ca09715f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-9eaad886-f621-4619-84c1-5c4f01ff2651 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-7bff0884-b9c8-48ae-acbe-292349d787d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-87bd4fb4-4205-494a-b9eb-ebf009774b02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-cbecc8b6-fc8e-48bd-b858-a34bb4f4b835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-4a412ea7-5614-4f9d-9a5d-071370550c1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-73fc068f-b959-470a-b91a-d0c977902694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-9fcd7a84-8289-49e5-9747-f7d48ed830e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-0ec5ec57-71fb-4037-a981-feeddfd579c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-9a698167-415f-4779-94d8-1ea7e4ffa583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c8af711f-bf60-423b-bc80-f3d4b6e33ee1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00015_nodes_node_ident_get_member [0.131128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00016_nodes_node_ident_get_observer [0.082640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00018_nodes_node_ident_patch_member [0.085043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00236_conductors_get_observer [0.179630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00020_nodes_node_ident_delete_admin [0.144289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00239_conductors_hostname_get_observer [0.122804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00193_nodes_volume_get_admin [0.334976s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00215_drivers_vendor_passthru_methods_get_member [0.386824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00218_drivers_vendor_passthru_get_member [0.113418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00021_nodes_node_ident_delete_member [0.238947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00246_allocations_allocation_id_get_admin [0.216960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00194_nodes_volume_get_member [0.256655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00223_drivers_vendor_passthru_put_admin [0.135408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00255_nodes_allocation_get_admin [0.150967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00023_nodes_validate_get_admin [0.180814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00228_nodes_bios_get_admin [0.137390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00197_nodes_volume_connectors_get_member [0.261113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00256_nodes_allocation_get_member [0.188070s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00233_nodes_bios_bios_setting_get_observer [0.090639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00036_nodes_management_boot_device_get_member [0.177354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00234_conductors_get_admin [0.123979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00045_nodes_states_get_member [0.108118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00257_nodes_allocation_get_observer [0.141931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00048_nodes_states_power_put_member [0.069121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00258_nodes_allocation_delete_admin [0.070383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00050_nodes_states_provision_put_admin [0.106359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00054_nodes_states_raid_put_member [0.070292s] ... ok 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-2ab539fb-f121-4a4a-b0ff-e7fa9f780268 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-08c78f4a-ead7-4d57-8137-d7f33958dda2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c9eec88c-454e-4c46-a4be-414b67ad8898 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-535e4678-d8ac-4695-80ca-a8f51052e640 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-333dfc6f-8080-4979-a96b-861ba61be381 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ec29928c-3147-48e7-8875-80c953b41b80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-f5c34694-40e2-4654-b5f5-80ceea444511 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bfb6696a-6a0e-47d2-aaf2-a4a4a107bde4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e8a14f98-1eba-4ccf-bb76-67f9fa8c7d6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8e9155cd-9604-47ca-81ad-962a704b67ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5f48962e-ea5f-425c-ac6f-c313f1687c6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-66f7ce17-ca5d-4158-b7b5-d90a0e68c52a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e99ee6e9-a68a-471b-8bfc-56c23f2372dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7645a989-fba3-488b-a969-f7b30eccb851 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-06775054-85af-46eb-aa3d-93b6b6aa2024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00198_nodes_volume_connectors_get_observer [0.221846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00240_allocations_post_admin [0.295095s] ... 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-b961b058-a45c-48e9-b734-b7bce0f87808 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-d6473299-ba51-49fd-8f34-c5e6da2d578c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-183d50fc-0784-48d9-af8b-1aba2e87c2af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-182b5dc9-bf6e-49c8-b06a-ecb856dd38a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-ff746f54-dfec-463f-9e8e-7c7f1d605191 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-f57ab602-742c-447a-acaf-ff4136f61f98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-e89dc4b2-66a4-4318-b911-da24970c8d68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-669af8f7-69a0-400a-a8ab-17b152a7a8ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ff969c0b-22d6-46e9-922a-b0982fd5a72f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-443f9492-bfd7-454f-b0d3-77cf41822f24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/39002a39-b7a2-4f00-99e3-42a983756a32 DEBUG util.py:445: GET: /v1/allocations/39002a39-b7a2-4f00-99e3-42a983756a32 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53ffb8aa-fe75-4b58-8c88-efb053a0d71f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 39002a39-b7a2-4f00-99e3-42a983756a32 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-6526fd9c-5906-4da3-b338-f74a0bfc7561 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9fa1a0c-8088-4753-990c-3b5d5748a10a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50edb9e5-8261-411b-a077-7c8c00830f56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2598c55f-aae2-4a68-a42c-206e3ded4345 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00259_nodes_allocation_delete_member [0.076636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00260_nodes_allocation_delete_observer [0.174191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00059_nodes_states_console_put_member [0.133726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00208_drivers_properties_get_admin [0.301223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00064_nodes_vendor_passthru_get_admin [0.138274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00243_allocations_get_admin [0.269819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00263_deploy_templates_post_observer [0.250181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00069_nodes_vendor_passthru_post_observer [0.110230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00211_drivers_raid_logical_disk_properties_get_admin [0.259414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00071_nodes_vendor_passthru_put_member [0.106901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00247_allocations_allocation_id_get_member [0.225429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00272_deploy_templates_deploy_template_id_patch_observer [0.236968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00227_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing 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-4cfca920-68f9-4fd2-b1b9-691f05bb7115 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-006820e8-f593-41e6-81f7-00e0823ede72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-604fa7f7-d755-4de6-8c7e-302b85ad7783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-67f3c871-cc5a-4554-a3b4-e6919c5f8bc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-30ba9e2a-b47e-4281-bc17-e4782aedc558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-aafa46b4-864d-49d0-a466-e4790f6a70e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-414d2e73-b2d3-4135-80d9-f9eae78f88fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b9b97538-7478-4736-b7c0-ff5e93dfd6fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-01ea7d07-4430-42ba-9a97-3aa6e12b9572 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a41420ee-9e7d-4c65-a122-7633878f6123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a3a61df4-5d5b-4ca4-83c2-fda6a0d4b9e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-825687f6-93bf-41ff-b55c-9ca274206864 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-bfe79394-090c-435e-85c5-5365e27ab2ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ac3c67a0-9b47-4807-8005-306f30d7b6b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2fe78d47-7786-46eb-adca-3627e1f0c0e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00073_nodes_vendor_passthru_delete_admin [0.105898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00074_nodes_vendor_passthru_delete_member [0.090608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00249_allocations_allocation_id_patch_admin [0.226745s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00286_chassis_chassis_id_get_member [0.200054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00080_nodes_traits_put_member [0.111874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00231_nodes_bios_bios_setting_get_admin [0.247597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00095_nodes_vifs_post_member [0.084010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00235_conductors_get_member [0.179326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00289_chassis_chassis_id_patch_member [0.244258s] ... 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: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd7d78ea-f0b7-4b31-bdcc-271d432da5e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-784a832e-8b1e-4c88-a75b-8b097875fa13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-fe341c17-a1d2-4427-9765-90fc9afd483b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-15513073-5e71-4eca-8e2e-44a20dbe38ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-a3301c70-6d0e-4c19-82af-d49257e9c333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-ad1394ea-27de-40b4-8e33-f0eb383c041a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-0a981606-f2e7-45b3-934f-652433db6728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-bc7c89f2-33dd-4962-ac33-65a80ab8529b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d76b146a-a3aa-480e-b4d5-95f6d89919b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-59f9e172-a1e2-4737-a4dd-aacb191cc398 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-5e48b1a3-ef0a-4f70-9cde-fcbf8ef25050 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"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-af30c23b-a1dc-4b33-902a-8a1fe4855d0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/4caa4b41-812c-4bc8-a6e7-1d4bf881adfb DEBUG util.py:445: GET: /v1/allocations/4caa4b41-812c-4bc8-a6e7-1d4bf881adfb {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0914c781-9953-4b1a-b712-c5493f6d7d4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4caa4b41-812c-4bc8-a6e7-1d4bf881adfb could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/faee253c-7457-4b4e-856f-cab6413f2da0 DEBUG util.py:445: PATCH: /v1/allocations/faee253c-7457-4b4e-856f-cab6413f2da0 [{'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-09b2152c-c529-4870-a6ee-5080ef176d1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation faee253c-7457-4b4e-856f-cab6413f2da0 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/aa868a0f-3668-49d2-ab5b-aa971e180250 DEBUG util.py:445: PATCH: /v1/allocations/aa868a0f-3668-49d2-ab5b-aa971e180250 [{'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-70be292a-6cc6-4597-8ca0-a1d0d3482b84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation aa868a0f-3668-49d2-ab5b-aa971e180250 could not be found.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00251_allocations_allocation_id_patch_observer [0.202305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00097_nodes_vifs_node_vif_ident_delete_admin [0.366765s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00265_deploy_templates_get_member [0.306783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00237_conductors_hostname_get_admin [0.281309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00005_nodes_get_node_admin [0.300100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00105_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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00006_nodes_get_node_member [0.202818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00268_deploy_templates_deploy_template_id_get_member [0.247944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00238_conductors_hostname_get_member [0.235630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00008_nodes_get_node_other_admin [0.162356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00248_allocations_allocation_id_get_observer [0.153400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00107_portgroups_get_member [0.275281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00269_deploy_templates_deploy_template_id_get_observer [0.237452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00011_nodes_detail_get_admin [0.161562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00250_allocations_allocation_id_patch_member [0.203065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00109_portgroups_post_admin [0.178530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00252_allocations_allocation_id_delete_admin [0.105445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00279_chassis_get_admin [0.311626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00253_allocations_allocation_id_delete_member [0.106599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00113_portgroups_detail_get_member [0.258537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00012_nodes_detail_get_member [0.312996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00254_allocations_allocation_id_delete_observer [0.143377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00283_chassis_detail_get_member [0.197802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00267_deploy_templates_deploy_template_id_get_admin [0.208307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00293_chassis_chassis_id_delete_observer [0.203886s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00117_portgroups_portgroup_ident_get_observer [0.332746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00014_nodes_node_ident_get_admin [0.345395s] ... 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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00274_deploy_templates_deploy_template_id_delete_member [0.233974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00277_chassis_post_member [0.147349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00118_portgroups_portgroup_ident_patch_admin [0.352399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00002_nodes_post_admin [0.237487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00022_nodes_node_ident_delete_observer [0.363091s] ... ok 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-83f04cff-9283-4ff8-80e1-4b2fff601ef8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-309897e6-6cad-4a54-95ee-cab8500e2203 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-c5febb3b-2ed0-4576-9221-489623a4f2f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-79618fde-ff5f-4d49-9f4c-e4f2c08abba6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-8cd543a4-930f-4716-b219-7189500e9419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-699ea35e-b4ef-458e-a6d5-07e24add17b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/9acdff3a-330e-4eee-ace4-045ff149735f DEBUG util.py:445: GET: /v1/allocations/9acdff3a-330e-4eee-ace4-045ff149735f {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2a034c4-efa6-4286-96be-9744677f6221 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9acdff3a-330e-4eee-ace4-045ff149735f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/b8ec808a-b208-4e1b-acff-7ad82a866519 DEBUG util.py:445: PATCH: /v1/allocations/b8ec808a-b208-4e1b-acff-7ad82a866519 [{'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-31d5aa6b-a39b-4703-844e-c41d2a69121f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation b8ec808a-b208-4e1b-acff-7ad82a866519 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/3821b6f5-fdd3-4a6f-ad9a-1683ffa4f63c DEBUG util.py:445: DELETE: /v1/allocations/3821b6f5-fdd3-4a6f-ad9a-1683ffa4f63c DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb60ca63-2d10-4176-90b6-a4c4ce7a8565 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3821b6f5-fdd3-4a6f-ad9a-1683ffa4f63c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/9350f281-3bb5-4ea6-834c-50b9a9314650 DEBUG util.py:445: DELETE: /v1/allocations/9350f281-3bb5-4ea6-834c-50b9a9314650 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aff88cbe-6849-4d10-8105-70aa83d9806d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9350f281-3bb5-4ea6-834c-50b9a9314650 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/99353a28-0836-4ccb-86e1-44d280029079 DEBUG util.py:445: DELETE: /v1/allocations/99353a28-0836-4ccb-86e1-44d280029079 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b9810b2-94ef-4786-931c-2b68b0bc6c76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 99353a28-0836-4ccb-86e1-44d280029079 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/edb3454b-607d-43d8-b7a8-205dce6ad706 DEBUG util.py:445: GET: /v1/deploy_templates/edb3454b-607d-43d8-b7a8-205dce6ad706 {} 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-6f274fcc-e566-4da7-b814-c41532fef26c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/56bcb3c4-3555-40c7-b2c9-add93ea4498c DEBUG util.py:445: DELETE: /v1/deploy_templates/56bcb3c4-3555-40c7-b2c9-add93ea4498c 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-08f7a131-0d47-4697-997f-49ebda75c35c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-12a2c09f-4c60-4904-ab37-1ed474ed36bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-9119aca4-6f01-4b78-b4f2-c66335c22779 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00278_chassis_post_observer [0.118346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00285_chassis_chassis_id_get_admin [0.067920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00288_chassis_chassis_id_patch_admin [0.097206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00009_nodes_get_admin [0.232337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00026_nodes_maintenance_put_admin [0.379262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00119_portgroups_portgroup_ident_patch_member [0.444184s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00010_nodes_get_other_admin [0.395462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00290_chassis_chassis_id_patch_observer [0.417680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00122_portgroups_portgroup_ident_delete_member [0.294676s] ... 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-c7b1d142-957d-462d-8eec-0f677037f110 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-7f1a4efc-584b-491b-b560-910e1532f051 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-309a8fdd-9880-44b7-9dd3-a69e92485cf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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/4f581e5d-9208-4677-84b4-a3f0ab6248f5 DEBUG util.py:445: PATCH: /v1/deploy_templates/4f581e5d-9208-4677-84b4-a3f0ab6248f5 [{'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-6081029f-479a-450c-95c1-c73874090f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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-55aa0ef0-b44f-482c-9d2e-49f85eb6779f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-4abd8ea6-4036-4785-91ce-023bccee6ea0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-03c22456-a2a8-40c0-b95e-511dbb8883cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4d0d922a-6511-466c-b5df-c24ac4bfc276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d4349ba5-3db7-49ae-b650-bccb5c85bc70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2287489c-aea1-4f7f-9abc-31d10a2f9667 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4a236850-d3f3-4463-a53a-a56d1367948c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-36da4f09-2d1a-4a78-a36d-e2237cd677bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-7fb9aa83-5079-484c-8dac-17648f8aaf3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f34e805f-2b29-4d2b-a29e-915411a94af7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-600bc82d-a250-4bb0-876e-893dfca19686 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_scoped_canary_00027_nodes_maintenance_put_member [0.352655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00292_chassis_chassis_id_delete_member [0.348829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00024_nodes_validate_get_member [0.403787s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00029_nodes_maintenance_delete_admin [0.358606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00125_nodes_portgroups_get_member [0.423301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00004_nodes_post_observer [0.382867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00025_nodes_validate_get_observer [0.391905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00128_nodes_portgroups_detail_get_member [0.336260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00042_nodes_management_inject_nmi_put_member [0.371145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00028_nodes_maintenance_put_observer [0.284648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00007_nodes_get_node_observer [0.384922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00129_nodes_portgroups_detail_get_observer [0.367712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00030_nodes_maintenance_delete_member [0.264067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00017_nodes_node_ident_patch_admin [0.235238s] ... ok 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-49d5fd68-e66c-472c-8076-5ffaa6db7318 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1edad9df-1289-42e2-924e-315359caadf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-7655ce1d-b398-4bae-b03b-eeb02a94e64b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-69c20c5b-631f-4b69-b13d-7abd08f9c286 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a238d997-cf4f-4a73-9064-93590640eb07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-70d0678e-2040-4c61-a099-c093c23e205f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-72fd87a6-a9ad-4be4-bf4e-df1a1f7980d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2ca07aa7-d476-43af-9fc2-87b2b7b0ed8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d863c3ad-b1d7-472b-9a72-cf3c9405aa96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-12186957-f21b-4536-998c-93e1dc231234 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-638b7059-2a4d-422f-904f-f7ba32a895c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2e79fda6-cc3e-4d11-9bf1-7d96361decfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-699fcc24-0d41-46a3-98f2-f6f503ea42ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-9153c5d8-e5bd-4978-a2c0-a89d13c64647 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e55c11ac-6a98-4212-9583-d239afdd0902 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_scoped_canary_00131_ports_get_member [0.291342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00046_nodes_states_get_observer [0.853878s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00032_nodes_management_boot_device_put_admin [0.406916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00133_ports_post_admin [0.259767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00019_nodes_node_ident_patch_observer [0.431270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00031_nodes_maintenance_delete_observer [0.238290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00047_nodes_states_power_put_admin [0.368724s] ... ok 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-b276c5da-5de5-4d77-99fc-55afa28d09de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/83937b72-169a-446b-a744-91c3477ca794 DEBUG util.py:445: GET: /v1/deploy_templates/83937b72-169a-446b-a744-91c3477ca794 {} 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-eedd40c2-f61f-422f-a08b-5530d910a132 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/c41d3e89-850f-4667-9822-4d9c1b44bc84 DEBUG util.py:445: GET: /v1/deploy_templates/c41d3e89-850f-4667-9822-4d9c1b44bc84 {} 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-4547f338-f6e2-4788-9a95-83330c97634b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-9ef80f9e-4042-42f3-bc4d-3504a7dadfe3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-cf2406ff-ba47-4031-930b-5e79dfefb52a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-058e5289-abc5-4463-bd17-4f54125f32ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-43bef4b4-c81d-42de-ba8b-9f8aacf7df52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c83ecd09-0e06-4937-8eb1-8de54bfb51e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-c62baeb6-c9ab-408f-a4b6-112dc4fc8659 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c62baeb6-c9ab-408f-a4b6-112dc4fc8659 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": []} 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-c7610e57-7bf4-46e4-bd07-2c450a754ae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ce37f0b6-94b1-47cd-b28c-417417cc6a1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-65faaeb1-0757-468d-8886-fa4c21aa2e31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2a0d6014-da27-42f8-aaa7-9f32c09e2854 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e392ac14-267c-4947-9ec0-d31949b876ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-b31c2fd1-3e41-41de-aa4c-1bf9ede12d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00034_nodes_management_boot_device_put_observer [0.233880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00035_nodes_management_boot_device_get_admin [0.349218s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00033_nodes_management_boot_device_put_member [0.328274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00049_nodes_states_power_put_observer [0.374712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00037_nodes_management_boot_device_get_observer [0.146409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00041_nodes_management_inject_nmi_put_admin [0.186043s] ... 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.298954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00043_nodes_management_inject_nmi_put_observer [0.263933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00141_ports_port_id_get_observer [1.067751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00051_nodes_states_provision_put_member [0.412903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00044_nodes_states_get_admin [0.077748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00057_nodes_states_console_get_member [0.082025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00144_ports_port_id_patch_observer [0.279201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00039_nodes_management_boot_device_supported_get_member [0.342088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00061_nodes_vendor_passthru_methods_get_admin [0.327648s] ... 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: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b9974d6-ae5d-4a47-a430-804291f4fa53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-e74821ce-7a32-4bb9-baac-c5bd1deef256 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-c03b7fa1-447e-4343-8b84-474518e684aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-d1eb395f-6354-43e1-8809-96029afdf2c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-8adbe396-9fa8-4d3a-9999-f0d547e966c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-7059ff82-2372-45e9-a0bd-77ee3c77c360 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d69d9d4d-022e-4105-89d5-993d23006156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2e6b413a-8f0e-4631-911d-4fdaaf2116e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-3a08e053-2e3b-47fa-bf0d-a3298e9e1308 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4843d4a8-2432-4544-afa5-fffe5c1e28f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c44ba310-000b-47dd-8482-47a968469061 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-dff4cc34-d1a0-409d-abac-f5fd84a5438f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-71e831de-a2e8-4bfd-aeb0-50e5ff835907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-81b81c25-7273-4a46-be31-1df58a818a5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00058_nodes_states_console_put_admin [0.109052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00060_nodes_states_console_put_observer [0.129254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00062_nodes_vendor_passthru_methods_get_member [0.072459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00066_nodes_vendor_passthru_get_observer [0.104671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00063_nodes_vendor_passthru_methods_get_observer [0.195911s] ... 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.272716s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00145_ports_port_id_delete_admin [0.368579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00052_nodes_states_provision_put_observer [0.128096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00067_nodes_vendor_passthru_post_admin [0.275907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00053_nodes_states_raid_put_admin [0.071199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00148_nodes_ports_get_admin [0.250219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00072_nodes_vendor_passthru_put_observer [0.341272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00055_nodes_states_raid_put_observer [0.114152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00056_nodes_states_console_get_admin [0.216263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00068_nodes_vendor_passthru_post_member [0.355501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00077_nodes_traits_get_member [0.337258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00149_nodes_ports_get_member [0.388411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00079_nodes_traits_put_admin [0.152341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00065_nodes_vendor_passthru_get_member [0.306888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00081_nodes_traits_put_observer [0.074718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00075_nodes_vendor_passthru_delete_observer [0.357261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00151_nodes_ports_detail_get_admin [0.304986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00086_nodes_traits_trait_put_member [0.151328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00084_nodes_traits_delete_observer [0.318335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00154_portgroups_ports_get_admin [0.302294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00092_nodes_vifs_get_member [0.190108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00088_nodes_traits_trait_delete_admin [0.433985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00089_nodes_traits_trait_delete_member [0.200357s] ... ok 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-3eb9d579-fad0-415c-aac5-37abeadd015c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-350112c6-e84c-4de3-a5da-1324d456ae12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-cf03de8a-045f-42cb-b17e-989d7f09218c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-9074c535-0680-42d8-8687-32f91f12b16e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a177eeee-7723-4290-bc6d-cea5066c66e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-adb9e4d8-63ac-41e5-b4c5-341824d33471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-7083305f-aafb-4b60-a056-05535e280a47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-3fe37a6f-da1e-4e0b-9b1d-ea0361a86cd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-72847234-a15e-46b0-a976-bb54b2b5150f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d275f703-ceec-4c9f-a3b3-74b639ceb489 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ed786c57-ccbd-431e-9f8b-7629d651516a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-81a14184-b65d-415f-99d9-cf1b660a795b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4721189c-d516-427f-a65c-99bfa8dc21bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-822f3ef6-404f-4bef-9d2d-6f78784218f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00098_nodes_vifs_node_vif_ident_delete_member [0.281027s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00070_nodes_vendor_passthru_put_admin [0.936673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00093_nodes_vifs_get_observer [0.140826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00156_portgroups_ports_get_observer [0.564462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00100_nodes_management_indicators_get_admin [0.281524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00094_nodes_vifs_post_admin [0.205693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00101_nodes_management_indicators_get_member [0.145411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00076_nodes_traits_get_admin [0.385807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00104_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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00166_volume_connectors_post_admin [0.360571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00102_nodes_management_indicators_get_observer [0.177011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00112_portgroups_detail_get_admin [0.219406s] ... 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-4580814b-0612-4e68-858b-b55f10800076 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-eb71f2eb-95db-4944-862d-55abb19275e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4c349c51-f8b7-4b71-b9fd-a8146044a397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d0e6a132-57c2-4bd2-880c-e3df5e14f855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c9d48ccb-82f8-488b-99d6-6abac01383c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-f2716f8d-8911-4da9-a544-f0c3f346e98b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4a747221-313c-4ab6-ab10-aa3a60574eb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-827cf830-666c-4fd3-b6c6-560c343a5bdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e59a2f38-3355-4ca7-af9c-3a48c847314e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-414f17f2-a220-4b77-97f0-2711d960d439 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-a3e7b594-5626-440a-9e32-77687fc17792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c960bcac-1ea1-4de1-b0bc-6972e198912c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ba15afe8-3b78-44c0-aa23-4c6a9f9c9eff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-33630a5b-26b2-44e2-ab8a-0ab21970a838 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-39b92e68-573e-4f52-b10d-63fbedd2d732 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00106_portgroups_get_admin [0.129875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00078_nodes_traits_get_observer [0.431210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00168_volume_connectors_post_observer [0.417077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00111_portgroups_post_observer [0.220265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00115_portgroups_portgroup_ident_get_admin [0.349029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00114_portgroups_detail_get_observer [0.131789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00116_portgroups_portgroup_ident_get_member [0.139777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00120_portgroups_portgroup_ident_patch_observer [0.117479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00175_volume_volume_connector_id_delete_admin [0.415539s] ... ok 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-1edb2038-cd5b-4af5-803f-270da60a02e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1f1ea4dc-3e59-45ca-98c7-a57ade7987aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-68558c27-550b-4d1d-8c26-d8b646d72fb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ae64f1f4-31f5-461c-9d6a-6965775bfd04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e07e940f-e902-436b-b67b-13d15d1e42af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-713e564b-7ddb-49d3-af35-25a2538b01be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-98a1d03f-bd68-41bf-9f1a-70c932e11ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e663dac7-dde0-4328-81d3-f642ed6b5637 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-15404912-a298-4b5c-a5e1-227d55fa6dbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-6c4bb7c3-757e-4db9-86c7-a1909bc74e96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-10b66669-8a4a-4845-a351-cd12707735db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-5369ca92-f934-47d9-b8ff-4cceeb0e92a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-037d7b61-bcf1-433b-ad31-80523e818912 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-89aac0d6-5028-4ab9-9b19-d582f94d8897 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00082_nodes_traits_delete_admin [0.349928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00127_nodes_portgroups_detail_get_admin [0.191672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00124_nodes_portgroups_get_admin [0.262875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00083_nodes_traits_delete_member [0.315422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00132_ports_get_observer [0.090517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00178_volume_targets_get_admin [0.325469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00136_ports_detail_get_admin [0.288825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00135_ports_post_observer [0.133239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00140_ports_port_id_get_member [0.151190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00137_ports_detail_get_member [0.213897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00085_nodes_traits_trait_put_admin [0.443043s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00143_ports_port_id_patch_member [0.157435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00138_ports_detail_get_observer [0.199926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00184_volume_volume_target_id_get_admin [0.420431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00155_portgroups_ports_get_member [0.098995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00171_volume_volume_connector_id_get_observer [0.113425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00146_ports_port_id_delete_member [0.274245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00087_nodes_traits_trait_put_observer [0.419666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00177_volume_volume_connector_id_delete_observer [0.228385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00147_ports_port_id_delete_observer [0.235571s] ... ok 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-77ffaafa-606b-43e4-858c-34e355fea2b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c202ec4b-5293-4792-b5f6-8d24a7b5ac08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c04f7de6-2532-4b2e-87a6-dca0e53b4df3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8ab3f9f1-2f8d-4dae-a60f-7558be2576fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a4c5fe90-59be-4608-b961-3b9a9ea9288e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-5068ca77-8c24-484d-9fa6-7c6868e1e1ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2af2c462-01d2-4350-bc9a-8e4d759f13f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-782f0882-57ce-43bc-be85-6085f32d5448 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-83e2f43c-828e-4ba2-8f9c-05e025412240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-a4cece45-8591-4462-99b0-07c57ef53ec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5cfe0c7e-d9c6-4e95-887e-1a95f24e98a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c055b927-cbb9-45a0-8ac0-ecc72f0c328f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bbd2a7dd-29a3-438a-9eaf-fc2b341733be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8053319d-e7be-4513-89b5-08245b1528a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bcf38bbd-74be-443d-9169-e506a537f0b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00190_volume_volume_target_id_delete_admin [0.397057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00180_volume_targets_get_observer [0.215215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00090_nodes_traits_trait_delete_observer [0.344563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00193_nodes_volume_get_admin [0.339822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00157_portgroups_ports_detail_get_admin [0.309956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00185_volume_volume_target_id_get_member [0.256313s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00091_nodes_vifs_get_admin [0.248454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00159_portgroups_ports_detail_get_observer [0.194554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00196_nodes_volume_connectors_get_admin [0.314798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00189_volume_volume_target_id_patch_observer [0.316173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00160_volume_get_admin [0.214413s] ... 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-1bc58756-6409-466f-80c9-4c2403760ade DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b20b8087-5563-49f8-a59c-d8f04179b025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cb0264ca-bea9-446d-b90d-2ab7f79a0f30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dab49ea7-ce01-4702-bf4e-7b0fa87cedc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ee854768-cf21-4b47-a55f-b23c939c5b9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6b6d4ae7-71fb-42d4-a180-fd7115f1b6d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a4eeedfb-4ae8-4f56-b2af-192a396c7fc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-03c04a8b-5e4e-464a-a057-2cff0faf695b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-29478807-72e6-449d-983e-705297bc2036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-cd4ca4c3-dcb4-488f-93c5-5b643bc0f2e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2677e2f3-b5df-4b37-b35a-eb9c69087ae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ea9ce6a4-acc7-4e0c-ba09-8a6f0764bbff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c39e23ef-98ce-4f53-a205-07b7057c885b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-848198f5-b093-4994-b4f4-055e0441119c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-077b89f7-7a00-4e5c-8a44-7e1f5dcd5312 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00200_nodes_volume_targets_get_member [0.098521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00096_nodes_vifs_post_observer [0.364006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00198_nodes_volume_connectors_get_observer [0.363581s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00162_volume_get_observer [0.315045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00211_drivers_raid_logical_disk_properties_get_admin [0.275524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00212_drivers_raid_logical_disk_properties_get_member [0.126659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00099_nodes_vifs_node_vif_ident_delete_observer [0.349104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00163_volume_connectors_get_admin [0.206726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00202_drivers_get_admin [0.369927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00225_drivers_vendor_passthru_put_observer [0.142612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00227_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00103_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-073fa71e-5087-40f1-a477-5777b380bd4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-12def5c0-9419-47b3-9a8f-9ea1f46f2b99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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/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-1e23224f-77c6-4e77-a10d-c4a88426c738 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-62c9c192-42ac-48e4-a68d-057022fb884a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0fd7ce82-d250-4029-b487-13b58377d06d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7d2229d5-e721-4ed2-bea2-f786d03b6ba3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c6dfec5f-1085-4cd3-8960-b030efd9fc5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c5a036b8-1029-4a40-9265-d319f0d2d97d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1bc6acb3-6b0b-47f5-a301-0b36951afd0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-418c6111-8ea0-4017-abfe-208e7312c79f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d9f00234-a676-4d16-8545-9826fa1ebe09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8825da26-db18-41e4-a111-ffec7c89fcfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-565e86b4-4888-4463-b664-9d1a3655b869 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d577733e-e99f-443d-bf7f-298f2a40dc43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0f30dfe3-98e7-48a5-b9f2-49c2cb7b45e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9f479824-1ed3-48b7-9d5b-e61888cfeeb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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'}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00167_volume_connectors_post_member [0.170248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00172_volume_volume_connector_id_patch_admin [0.203665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00208_drivers_properties_get_admin [0.382333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00231_nodes_bios_bios_setting_get_admin [0.283959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00108_portgroups_get_observer [0.277856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00173_volume_volume_connector_id_patch_member [0.289525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00239_conductors_hostname_get_observer [0.233219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00210_drivers_properties_get_observer [0.344069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00176_volume_volume_connector_id_delete_member [0.142623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00181_volume_targets_post_admin [0.090104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00110_portgroups_post_member [0.369428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00244_allocations_get_member [0.205279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00187_volume_volume_target_id_patch_admin [0.079826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00213_drivers_raid_logical_disk_properties_get_observer [0.322308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00191_volume_volume_target_id_delete_member [0.187865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00245_allocations_get_observer [0.255868s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00121_portgroups_portgroup_ident_delete_admin [0.340619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00203_drivers_get_member [0.100076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00204_drivers_get_observer [0.060219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00214_drivers_vendor_passthru_methods_get_admin [0.276483s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00252_allocations_allocation_id_delete_admin [0.201941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00205_drivers_driver_name_get_admin [0.072813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00209_drivers_properties_get_member [0.094977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00217_drivers_vendor_passthru_get_admin [0.064383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00254_allocations_allocation_id_delete_observer [0.187212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00123_portgroups_portgroup_ident_delete_observer [0.330422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00215_drivers_vendor_passthru_methods_get_member [0.251073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00218_drivers_vendor_passthru_get_member [0.064489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00266_deploy_templates_get_observer [0.128925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00219_drivers_vendor_passthru_get_observer [0.148278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00267_deploy_templates_deploy_template_id_get_admin [0.153811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00229_nodes_bios_get_member [0.290670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00126_nodes_portgroups_get_observer [0.346995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00274_deploy_templates_deploy_template_id_delete_member [0.165733s] ... 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-c0c0e05d-0e86-4977-9456-f82971b2f5cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-54a62b0e-c32b-47da-b714-839dd60ce4a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-befe4283-e4f7-46b9-b28b-377bf7d16b93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8171645e-d4fd-4020-9f14-03204bb2f27b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a4d13aa4-afdb-4e71-9e52-034be14fc2a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7763d289-ecfa-4f34-aad8-fd7e59abd8b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1bddca63-cc58-421a-99df-c4e2c5826a58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-b136ae75-c0df-47f4-9425-775d07f9b0f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-5e9bcd32-4f55-4b49-a2c5-cbb2d00f862c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-f255856c-e9cd-4635-80ca-7a8b2ae937cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-ffc073ab-69e2-450b-9501-b948fc26e5fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-e531e780-a4e6-4809-9c11-ff3bc7929a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-0c21a6df-01b6-45f6-974d-18955dea96cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-2385be1c-e3b5-44b2-ade0-91f89c7fb709 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-de69224b-7ad7-4d88-8abf-9f3e2fca7190 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00220_drivers_vendor_passthru_post_admin [0.148482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00224_drivers_vendor_passthru_put_member [0.132841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00230_nodes_bios_get_observer [0.178390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00248_allocations_allocation_id_get_observer [0.108047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00130_ports_get_admin [0.248917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00276_chassis_post_admin [0.197626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00232_nodes_bios_bios_setting_get_member [0.162580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00283_chassis_detail_get_member [0.101722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00249_allocations_allocation_id_patch_admin [0.176359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00235_conductors_get_member [0.117819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00134_ports_post_member [0.246972s] ... ok 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-a9f8695a-062b-4759-a79f-29b2e9de611f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-a3f19990-9338-454d-a0b2-822ecc777cc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-37fb05df-401e-43bb-bbf1-215cd9bbb50e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-bd16ab1e-2a6b-42b1-9981-883e84079ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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/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-9aebc156-4a17-43c3-bccf-a3af6e399bac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-0f76cacf-af96-46c2-b2b2-0219d419f29a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-13236f61-e756-4a64-be44-f7f7b9655378 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 delete /v1/allocations/7570056d-1085-4d66-b462-7607c00b5b08 DEBUG util.py:445: DELETE: /v1/allocations/7570056d-1085-4d66-b462-7607c00b5b08 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d47c1eb-18e1-4988-b454-6100f095a163 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7570056d-1085-4d66-b462-7607c00b5b08 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/ed4768b2-776d-4a14-a3c9-90cf58cc01e9 DEBUG util.py:445: DELETE: /v1/allocations/ed4768b2-776d-4a14-a3c9-90cf58cc01e9 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2ea5996-1994-4941-8eec-92af9099ca58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ed4768b2-776d-4a14-a3c9-90cf58cc01e9 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-8dd9f928-18ad-473e-8a62-f414e50f3fba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/d0804554-72ce-4fc9-9dd9-8f1cf714bd09 DEBUG util.py:445: GET: /v1/deploy_templates/d0804554-72ce-4fc9-9dd9-8f1cf714bd09 {} 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-2deed7af-6b90-4407-8c80-626c35d1614e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/08ce2808-dc92-4e30-874f-395ddf3796c7 DEBUG util.py:445: DELETE: /v1/deploy_templates/08ce2808-dc92-4e30-874f-395ddf3796c7 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-2bc9fdbe-bcb5-43b5-955f-827088ef00de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-e3eefd77-4a96-470b-921d-033f1140c0d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-ef4cdae1-1885-45fb-b8e0-7cf919cc39d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-457c2f3f-256f-42bc-8a6a-37e3435affe9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00290_chassis_chassis_id_patch_observer [0.097715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00004_nodes_post_reader [0.206823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00236_conductors_get_observer [0.261208s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00139_ports_port_id_get_admin [0.283327s] ... ok 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-d215cee5-3406-4e78-a56e-38cfd1f04cd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8bd38927-0a0c-4faa-afb6-42acf0f4f9a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-1eb35413-1df1-417b-b322-bdd7413ed74d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-de8bda0d-9613-47f9-a989-6d46bf9c6ee7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2a94dd39-10e7-4cda-ab08-0401359317c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-7d8cea6b-8136-4d31-ab24-eb61813e9b9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-fe7921df-a3de-4492-a370-f34dca157356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-2b99ec61-d9e9-4265-8ff6-2c6d0b1a14ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-593c81f4-d695-4174-9a27-b0b4e66bda47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-9e1317c1-9fd6-4fd3-8644-ab77d501c998 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-12b5c949-8612-4a17-89a7-ca3adc2acc99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-bd3aecb8-9de6-4fa0-a4b5-2ac6e066863c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-9e596b82-a92e-4c10-ab67-1a3558c9baca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-67d9723b-8527-4e69-9a76-61e7e22725c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-7e916e5e-b822-46a6-973c-f45b20ea8396 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00237_conductors_hostname_get_admin [0.160706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00006_nodes_get_node_member [0.278858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00261_deploy_templates_post_admin [0.578965s] ... ok 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-4d3c6bde-2373-4eb8-8a91-42495035fc5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c1da809c-114d-484c-8b4e-a280800b4308 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-944e96f1-1231-4dba-a45d-1443ccc0dcbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-02a4fc66-c2ac-4fe8-a7a6-a88af526826c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-28ae0e3a-e129-45c7-86bb-187aa3c3bb39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-4011e6d6-606f-41f9-8261-0bc7e15b2587 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-2ecf52c8-94a2-4a61-8bd7-f95172ff826d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-429e42e9-a6bf-43f8-a951-dd4e2251071c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-312d6a52-5d5d-460d-baf0-ad811eb60f36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-4d88ab2d-dfcd-4fa3-8233-7439c216ce15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a3bf353d-1d24-4d3e-b5a9-926932d95f16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-12e0a8da-91d2-4a00-8b15-788500245879 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-e802ec13-69c0-45a0-a261-89b786cedf40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-aa8abf7d-1555-40cb-9f75-ecede3c09de7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cbcbdac6-aba6-4717-9544-81567d081df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00142_ports_port_id_patch_admin [0.393564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00272_deploy_templates_deploy_template_id_patch_observer [0.187011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00150_nodes_ports_get_observer [0.089524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00238_conductors_hostname_get_member [0.368495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00152_nodes_ports_detail_get_member [0.112643s] ... ok 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-b7169be3-5ae4-453d-b4b1-d3ef364738a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b7169be3-5ae4-453d-b4b1-d3ef364738a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5fb8aac2-bf2c-4f4a-aa99-e4135902fece DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:25.390019+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-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, "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-5fb8aac2-bf2c-4f4a-aa99-e4135902fece DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:25.390019+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-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, "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-37444798-ddb5-4a3c-8c1b-873706f7c858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:25.672266+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-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, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00007_nodes_get_node_reader [0.235004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00153_nodes_ports_detail_get_observer [0.126118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00158_portgroups_ports_detail_get_member [0.089502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00275_deploy_templates_deploy_template_id_delete_observer [0.457306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00161_volume_get_member [0.071701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00240_allocations_post_admin [0.409257s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00164_volume_connectors_get_member [0.101869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00009_nodes_get_admin [0.367348s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00165_volume_connectors_get_observer [0.121702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00241_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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00278_chassis_post_observer [0.344189s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00169_volume_volume_connector_id_get_admin [0.079322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00170_volume_volume_connector_id_get_member [0.076350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00242_allocations_post_observer [0.134615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00174_volume_volume_connector_id_patch_observer [0.073963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00281_chassis_get_observer [0.200779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00179_volume_targets_get_member [0.070521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00246_allocations_allocation_id_get_admin [0.138851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00182_volume_targets_post_member [0.104877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00251_allocations_allocation_id_patch_observer [0.123012s] ... 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-37444798-ddb5-4a3c-8c1b-873706f7c858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:25.672266+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-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, "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-01f7aff1-1f7f-4aec-b5d4-bc88cf49fea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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-01f7aff1-1f7f-4aec-b5d4-bc88cf49fea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": null, "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 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-5874757f-b201-4203-ad2a-1cd6f2b60f0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:26.604213+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-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, "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": "2023-10-12T03:28:26.606631+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-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, "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": "e7e54b34-a190-4c87-9d64-eac5b84af581", "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": "2023-10-12T03:28:26.722534+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": "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/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00011_nodes_detail_get_admin [0.532289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00183_volume_targets_post_observer [0.197655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00256_nodes_allocation_get_member [0.150828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00186_volume_volume_target_id_get_observer [0.121856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00258_nodes_allocation_delete_admin [0.146327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00286_chassis_chassis_id_get_member [0.510198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00259_nodes_allocation_delete_member [0.211300s] ... 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-5874757f-b201-4203-ad2a-1cd6f2b60f0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:26.604213+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-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, "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": "2023-10-12T03:28:26.606631+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-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, "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": "e7e54b34-a190-4c87-9d64-eac5b84af581", "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": "2023-10-12T03:28:26.722534+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": "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/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: 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'}}]{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00017_nodes_node_ident_patch_admin [0.708651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00291_chassis_chassis_id_delete_admin [0.373041s] ... ok 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-1771c0f2-0c33-49da-87fe-8b42e46b877b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-059dc835-eed5-4b3f-8184-2c3d778b4562 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-782bf6ae-98c5-4cb7-85db-fc2e8f16c1aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-cbfb8239-d519-4cc2-ac4b-6ab00c6104fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-c758e005-325c-466d-ba0d-0f0162d492e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d4fb7345-8bf8-4f36-91cc-228fb34ffcc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a2e5219b-810e-4151-841d-e4fa3de8511f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-a17faa92-631a-4728-84c9-fcfb3e502c84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-16a5737b-730d-439e-8c87-f5a23bc9fa3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-255fa62c-eb81-4a2e-a50f-256fb7d63a6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ee761b32-bc19-4df1-821f-fe461d824c69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-af980f16-a6a0-457a-aa59-f0c418f997a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3ed56262-29a3-44c4-a106-0917bd16393a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-2aa0da2a-3e76-4798-baaa-0029b6233669 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-371ce12a-9e95-46c8-bd88-aabe2f07a690 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00188_volume_volume_target_id_patch_member [0.130106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00192_volume_volume_target_id_delete_observer [0.249290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00262_deploy_templates_post_member [0.229629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00194_nodes_volume_get_member [0.320030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00265_deploy_templates_get_member [0.203447s] ... ok 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-48e5bc43-f95c-41cf-b492-1cdbfbf75fbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/f3c2acf3-e703-4d5f-ae41-b9ba81c21383 DEBUG util.py:445: GET: /v1/allocations/f3c2acf3-e703-4d5f-ae41-b9ba81c21383 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3462b7a0-1ccd-44c1-a6df-b3171534d88d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f3c2acf3-e703-4d5f-ae41-b9ba81c21383 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/e8c47c91-e02b-426e-9f1d-310ff4fd3e72 DEBUG util.py:445: PATCH: /v1/allocations/e8c47c91-e02b-426e-9f1d-310ff4fd3e72 [{'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-a9f99eaa-17c2-4e22-8e13-bad03d7fdaf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e8c47c91-e02b-426e-9f1d-310ff4fd3e72 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-862dad2e-f037-43b1-9087-d819cd3f935b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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/679dfa66-771d-4544-9512-5b6dd7305e67 DEBUG util.py:445: PATCH: /v1/deploy_templates/679dfa66-771d-4544-9512-5b6dd7305e67 [{'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-049a049f-6a26-489e-a930-f1b297a93484 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/cb4e4365-74ff-47f1-8609-c71cdd08bd7f DEBUG util.py:445: DELETE: /v1/deploy_templates/cb4e4365-74ff-47f1-8609-c71cdd08bd7f 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-ca63cd23-fb62-42a2-b439-9f0057f0f41b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-e16999d8-dc27-4e32-8d9f-8b7dea74e6c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-ee4b29cc-ea2c-48c5-b814-0b529bc622d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-578f4708-7d2e-4847-8098-f031c1036858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-cfe29094-6a04-4ca9-b8cc-9f6a037df6c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad2e9761-91aa-49f1-9694-c33c4c3e5252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:27.782998+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-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, "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_00014_nodes_node_ident_get_admin [0.208621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00268_deploy_templates_deploy_template_id_get_member [0.145947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00019_system_member_can_patch_conductor_group [0.440389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00195_nodes_volume_get_observer [0.264436s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00018_system_admin_can_patch_chassis [0.325088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00269_deploy_templates_deploy_template_id_get_observer [0.201468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00270_deploy_templates_deploy_template_id_patch_admin [0.117860s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00197_nodes_volume_connectors_get_member [0.274280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00273_deploy_templates_deploy_template_id_delete_admin [0.084660s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00021_nodes_node_ident_patch_reader [0.295906s] ... 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-b548ab54-ff46-4ca6-a14d-4e74ca9e1011 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-cef8afdf-6799-46df-b446-41e80ffd79e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"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-d9b0eae5-791b-40c0-ae99-26604e80af9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/e9b9673f-9d70-4c36-8283-7520237a5cc9 DEBUG util.py:445: GET: /v1/allocations/e9b9673f-9d70-4c36-8283-7520237a5cc9 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d4582d2-3fc0-4d68-9bc5-da02c981e893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e9b9673f-9d70-4c36-8283-7520237a5cc9 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/56b05ebc-f094-4d18-a81c-4d9fdbc992ec DEBUG util.py:445: PATCH: /v1/allocations/56b05ebc-f094-4d18-a81c-4d9fdbc992ec [{'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-3143fd82-1a44-4a57-9212-a2bd6a8e284f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 56b05ebc-f094-4d18-a81c-4d9fdbc992ec 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-83c94a59-a283-4600-82a9-93d5976d7705 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-09c6de2b-96cf-4b32-9d26-d69692beb7cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-94629877-53e0-413e-93d3-992192274eb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3fd473c8-2896-4098-818a-544c1fa32aa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-213feadf-ab29-4e76-9bbd-4f031bd40fad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/586685f2-30b8-48fc-b303-52147ec83441 DEBUG util.py:445: GET: /v1/deploy_templates/586685f2-30b8-48fc-b303-52147ec83441 {} 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-e208680d-3edc-482e-88ec-bb26f5323bf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/47f611ea-e62e-4f72-90ca-6210db159c3f DEBUG util.py:445: GET: /v1/deploy_templates/47f611ea-e62e-4f72-90ca-6210db159c3f {} 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-9bd075a8-7856-4e57-9f35-c1003e457954 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/755ae93d-a054-4d21-a722-f8e90811ee8c DEBUG util.py:445: PATCH: /v1/deploy_templates/755ae93d-a054-4d21-a722-f8e90811ee8c [{'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-83c4f18a-f56f-44d0-a1b0-fcfb050536db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/41b5ca49-bbb6-4dce-87d3-40d3833d2bd7 DEBUG util.py:445: DELETE: /v1/deploy_templates/41b5ca49-bbb6-4dce-87d3-40d3833d2bd7 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-64a1cefc-b10e-43b0-8bbe-83ce7026125d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-6b3cea25-74f8-45e3-9baf-d35fd04a8efe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00277_chassis_post_member [0.160840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00199_nodes_volume_targets_get_admin [0.281579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00022_nodes_node_ident_delete_admin [0.312189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00282_chassis_detail_get_admin [0.176884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00032_nodes_maintenance_delete_member [0.827818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00201_nodes_volume_targets_get_observer [0.178881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00287_chassis_chassis_id_get_observer [0.106113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00288_chassis_chassis_id_patch_admin [0.107306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00289_chassis_chassis_id_patch_member [0.063680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00029_nodes_maintenance_put_member [0.345162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00293_chassis_chassis_id_delete_observer [0.073078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00206_drivers_driver_name_get_member [0.290553s] ... ok DEBUG util.py:445: {3} 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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00034_nodes_management_boot_device_put_admin [0.417462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00002_nodes_post_admin [0.225079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00039_nodes_management_boot_device_get_reader [0.220277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00003_nodes_post_member [0.096105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00207_drivers_driver_name_get_observer [0.355859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00030_nodes_maintenance_put_reader [0.426903s] ... 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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00040_nodes_management_boot_device_supported_get_admin [0.185638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00216_drivers_vendor_passthru_methods_get_observer [0.319794s] ... 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: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db527fed-d159-4e49-97b7-9adc89485dcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-48ead98b-b60d-4479-aeaa-fdb69ffc6929 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-c39f80e3-836c-4d67-a8bf-8bbc7f9a6b67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-1ff5cb08-089d-47e7-b139-56c872e9ff23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-f743f71d-d82d-4660-a3f4-8499461c09a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc01c2d2-a5c9-4c35-94b9-0326f191b968 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bc01c2d2-a5c9-4c35-94b9-0326f191b968 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eda31eda-1699-42ef-a3e5-d9a7c4beefb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eda31eda-1699-42ef-a3e5-d9a7c4beefb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bcda1462-733e-4f81-b471-751fe2f9ba04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:29.720496+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-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, "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-bcda1462-733e-4f81-b471-751fe2f9ba04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:29.720496+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-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, "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.TestRBACScopedRequests.test_system_scoped_00015_nodes_node_ident_get_member [0.153778s] ... 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-ad2e9761-91aa-49f1-9694-c33c4c3e5252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:27.782998+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-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, "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': '/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-7dd845a7-c6f3-4a50-bc95-d796c0e981a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7dd845a7-c6f3-4a50-bc95-d796c0e981a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': '/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-36ac7686-15f8-4091-968c-6d4a2b5b5b76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-36ac7686-15f8-4091-968c-6d4a2b5b5b76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8e96302-1e3a-4614-8661-4504bab0c755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a8e96302-1e3a-4614-8661-4504bab0c755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f83ef293-3efc-4087-a512-a658d0573d96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f83ef293-3efc-4087-a512-a658d0573d96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ab27bb0c-07e9-458a-b741-bdb3303b7a74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ab27bb0c-07e9-458a-b741-bdb3303b7a74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-addf70d0-f576-4845-bd66-ddc841c3ca8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00037_nodes_management_boot_device_get_admin [0.421600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00016_nodes_node_ident_get_reader [0.291778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00043_nodes_management_inject_nmi_put_admin [0.437025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00221_drivers_vendor_passthru_post_member [0.292974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00028_nodes_maintenance_put_admin [0.154046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00038_nodes_management_boot_device_get_member [0.311736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00049_nodes_states_power_put_admin [0.160406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00031_nodes_maintenance_delete_admin [0.152953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00222_drivers_vendor_passthru_post_observer [0.218751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00041_nodes_management_boot_device_supported_get_member [0.241295s] ... 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-5aec5b73-1a71-4ecf-b176-72b00fc483fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5aec5b73-1a71-4ecf-b176-72b00fc483fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8b6e9c9d-0782-43ff-86a0-8c57fbbcb74a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8b6e9c9d-0782-43ff-86a0-8c57fbbcb74a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4fd70865-aee9-480f-aa82-b8404b8e5421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4fd70865-aee9-480f-aa82-b8404b8e5421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-19780b98-6be6-4e1f-b8fd-4136917d729b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-19780b98-6be6-4e1f-b8fd-4136917d729b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a0a5b06-c343-4da6-9e59-bf3c3bd48dff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3a0a5b06-c343-4da6-9e59-bf3c3bd48dff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-705d586e-4e04-49cc-b75a-40973f69c96a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-705d586e-4e04-49cc-b75a-40973f69c96a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eefeb9f6-6f4e-4a81-a070-f5e91a6bba00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-eefeb9f6-6f4e-4a81-a070-f5e91a6bba00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d254b674-e6e6-40c5-b7c0-c2168c21cada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d254b674-e6e6-40c5-b7c0-c2168c21cada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8ecd4591-232a-42b2-b2f5-7d4f6772e6fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00052_nodes_states_provision_put_admin [0.148792s] ... 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-4d2487bd-214d-4b64-926c-20c95e0a4243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:29.930147+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-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, "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-4d2487bd-214d-4b64-926c-20c95e0a4243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:29.930147+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-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, "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 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-e8d55640-cd58-4fcf-b571-6c361e7d5e1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e8d55640-cd58-4fcf-b571-6c361e7d5e1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8c7c25b5-126a-463a-af39-c8bb2a79b483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8c7c25b5-126a-463a-af39-c8bb2a79b483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-43f4cacc-f4d9-4450-bffd-e9a256cf21f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00035_nodes_management_boot_device_put_member [0.161872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00223_drivers_vendor_passthru_put_admin [0.223898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00062_nodes_states_console_put_reader [0.161040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00051_nodes_states_power_put_reader [0.169571s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00226_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00068_nodes_vendor_passthru_get_reader [0.169182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00042_nodes_management_boot_device_supported_get_reader [0.288218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00055_nodes_states_raid_put_admin [0.201581s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00228_nodes_bios_get_admin [0.227496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00069_nodes_vendor_passthru_post_admin [0.187430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00044_nodes_management_inject_nmi_put_member [0.244167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00057_nodes_states_raid_put_reader [0.161666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00071_nodes_vendor_passthru_post_reader [0.309840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00045_nodes_management_inject_nmi_put_reader [0.226463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00060_nodes_states_console_put_admin [0.220617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00046_nodes_states_get_admin [0.237546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00077_nodes_vendor_passthru_delete_reader [0.250432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00075_nodes_vendor_passthru_delete_admin [0.202899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00056_nodes_states_raid_put_member [0.282173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00080_nodes_traits_get_reader [0.314056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00076_nodes_vendor_passthru_delete_member [0.212289s] ... 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-c51f8856-49e8-410f-9491-49444e7f4693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4e46957c-46ca-4973-9791-36bc296ef214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-52f3afed-81bb-4ef7-afe7-70e7f353409b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2d1fab5a-05db-4292-bc9d-dd721c2456b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3454d8d3-b117-4131-b1bb-c3d0d129cb9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-ea98312d-4ce0-429a-bd18-b0858ccf1781 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-d0386a6c-cbd7-4966-98af-eae4a29f3df4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-159fcfca-86eb-445c-bda7-5d23991c518a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-12644505-268b-4150-ad29-c794bfde25eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-e82abbc2-a2e2-4ee4-adfb-b6df9186aed4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-427f295d-b918-4b50-9a31-ba23fea4ba0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-1e089791-da5a-4e1d-b91f-ad263fd6cab0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-ce6b9500-1983-4944-9f9a-e38ead226fe9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-b3b77f08-d2e2-4d5c-a8a5-4be9f5be4244 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_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-aa6a8ed1-1433-41ec-bfbd-708bf194de8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00233_nodes_bios_bios_setting_get_observer [0.725555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00234_conductors_get_admin [0.238312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00078_nodes_traits_get_admin [0.216940s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00243_allocations_get_admin [0.077712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00247_allocations_allocation_id_get_member [0.122122s] ... 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-43f4cacc-f4d9-4450-bffd-e9a256cf21f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d2c65108-1091-4129-8df9-d8a32852b230 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d2c65108-1091-4129-8df9-d8a32852b230 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c39ae38c-44f1-4944-8418-433f076f71da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c39ae38c-44f1-4944-8418-433f076f71da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c255b672-3cd3-427f-9269-fb9824c5e073 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c255b672-3cd3-427f-9269-fb9824c5e073 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-5779068f-bab9-4814-8c51-93b48edde1a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5779068f-bab9-4814-8c51-93b48edde1a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-2a0f52f4-8019-4895-8e96-cce7003304ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2a0f52f4-8019-4895-8e96-cce7003304ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-55d7a57e-6ef3-4cd1-9bf5-ed6c09b6c2b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-55d7a57e-6ef3-4cd1-9bf5-ed6c09b6c2b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a533268b-d69d-410d-b513-f78dbeb3cfe7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a533268b-d69d-410d-b513-f78dbeb3cfe7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f4fe1993-ab90-4569-b1f6-94c3e383b6d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f4fe1993-ab90-4569-b1f6-94c3e383b6d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00081_nodes_traits_put_admin [0.163371s] ... 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-addf70d0-f576-4845-bd66-ddc841c3ca8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e67c83df-b996-4228-b656-ca8882e05d32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e67c83df-b996-4228-b656-ca8882e05d32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b115231a-f936-43e2-a6c8-2871e86879d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b115231a-f936-43e2-a6c8-2871e86879d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-423fcf58-e33f-436d-9a64-4b267640abc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-423fcf58-e33f-436d-9a64-4b267640abc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-2c9f5327-7fa1-49a9-a6ac-d7f04e01ef94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2c9f5327-7fa1-49a9-a6ac-d7f04e01ef94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-95e5d2ac-bc93-4a69-bc76-a4b18b86fe6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-95e5d2ac-bc93-4a69-bc76-a4b18b86fe6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-512f4211-38f4-4bfb-9fcf-5595c8380d8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-512f4211-38f4-4bfb-9fcf-5595c8380d8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} 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-f2d38244-4c4e-456b-b560-806ac959c9e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f2d38244-4c4e-456b-b560-806ac959c9e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ec0cb062-329c-4e76-877b-77213c55e51f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ec0cb062-329c-4e76-877b-77213c55e51f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00250_allocations_allocation_id_patch_member [0.099884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00058_nodes_states_console_get_admin [0.288542s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00083_nodes_traits_put_reader [0.415500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00253_allocations_allocation_id_delete_member [0.094410s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00255_nodes_allocation_get_admin [0.072243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00085_nodes_traits_delete_member [0.327937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00257_nodes_allocation_get_observer [0.103339s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00061_nodes_states_console_put_member [0.405873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00086_nodes_traits_delete_reader [0.315593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00260_nodes_allocation_delete_observer [0.141393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00087_nodes_traits_trait_put_admin [0.236571s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00066_nodes_vendor_passthru_get_admin [0.196582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00263_deploy_templates_post_observer [0.098625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00090_nodes_traits_trait_delete_admin [0.152438s] ... 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-8ecd4591-232a-42b2-b2f5-7d4f6772e6fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-016283d5-29d2-411b-96ab-17b3e361148e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-016283d5-29d2-411b-96ab-17b3e361148e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-99905f1e-9f27-4aca-ba52-dc3396781b1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-99905f1e-9f27-4aca-ba52-dc3396781b1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7de9764e-5d5c-4546-8abc-ee643483d6b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7de9764e-5d5c-4546-8abc-ee643483d6b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-98171052-8cf7-4d9f-baec-3bed41ae45b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-98171052-8cf7-4d9f-baec-3bed41ae45b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e96e001f-06df-41ed-9955-d2f4b6dd16c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e96e001f-06df-41ed-9955-d2f4b6dd16c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7773dc77-5474-42a1-8bfa-2c64425af66c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7773dc77-5474-42a1-8bfa-2c64425af66c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f278942-ac93-4249-9d64-4a34152dc959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3f278942-ac93-4249-9d64-4a34152dc959 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89568bb8-2de5-4ddc-9fca-f99ac86503be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89568bb8-2de5-4ddc-9fca-f99ac86503be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00091_nodes_traits_trait_delete_member [0.257651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00070_nodes_vendor_passthru_post_member [0.219698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00264_deploy_templates_get_admin [0.182014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00101_nodes_vifs_node_vif_ident_delete_reader [0.199471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00271_deploy_templates_deploy_template_id_patch_member [0.167636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00102_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00096_nodes_vifs_post_admin [0.485566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00079_nodes_traits_get_member [0.455198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00107_portgroups_get_member [0.240286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00279_chassis_get_admin [0.321390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00105_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00108_portgroups_get_reader [0.167165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00082_nodes_traits_put_member [0.221913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00280_chassis_get_member [0.215782s] ... ok 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-58b2b158-3677-4bbf-a3c0-c3e4bf8806ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-58b2b158-3677-4bbf-a3c0-c3e4bf8806ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d009dab9-2653-46c2-b896-fcb8343fe9fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d009dab9-2653-46c2-b896-fcb8343fe9fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-753ea333-95f9-4bdf-91aa-4072ab9fc550 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-753ea333-95f9-4bdf-91aa-4072ab9fc550 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-58456d78-773d-492f-b030-29e1eee28d58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-58456d78-773d-492f-b030-29e1eee28d58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-756906a0-3ab2-472c-a818-d6345e8e6b21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-756906a0-3ab2-472c-a818-d6345e8e6b21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-be52f320-8321-4957-9fc4-26e9b7cfedb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-be52f320-8321-4957-9fc4-26e9b7cfedb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-30cb901d-c804-46f8-ae4c-62ba7991dd4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:33.694460+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-30cb901d-c804-46f8-ae4c-62ba7991dd4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:33.694460+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_00115_portgroups_portgroup_ident_get_admin [0.190905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00109_portgroups_post_admin [0.223107s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00284_chassis_detail_get_observer [0.214064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00084_nodes_traits_delete_admin [0.304794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00117_portgroups_portgroup_ident_get_reader [0.214226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00110_portgroups_post_member [0.255730s] ... 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: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc4b0348-3523-4eba-9398-4a8ce3473942 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-fbacb2aa-fa2a-4bc1-9d99-df9addfc2cf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/7770b21d-83aa-49c0-84a4-d3171abddf46 DEBUG util.py:445: GET: /v1/allocations/7770b21d-83aa-49c0-84a4-d3171abddf46 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a46da16d-3d49-427b-8d84-2755a1da767b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7770b21d-83aa-49c0-84a4-d3171abddf46 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/3212e52c-e7cb-41a7-acd5-70be02ef7528 DEBUG util.py:445: PATCH: /v1/allocations/3212e52c-e7cb-41a7-acd5-70be02ef7528 [{'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-ac164920-fc32-4f14-a384-faa0c84a9333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3212e52c-e7cb-41a7-acd5-70be02ef7528 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/c4e339bb-94ed-4c1c-aae4-555fbe33216f DEBUG util.py:445: DELETE: /v1/allocations/c4e339bb-94ed-4c1c-aae4-555fbe33216f DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-932b277e-7721-4e4f-a370-b3f07b5dafc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c4e339bb-94ed-4c1c-aae4-555fbe33216f 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-f7a24776-cea9-40a1-b1fc-7b5e3195f72e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4388d673-cd15-4cc2-ba32-6a766ad8be39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fac3d131-d27e-4b7c-82a8-154b8fb5f265 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f520686d-b0c3-43a3-91da-be8fd4690b31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-fd49bde2-e885-4eec-90b7-75d68f26cc97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/dbe81271-785d-4939-bf4b-485a87bd8b9b DEBUG util.py:445: PATCH: /v1/deploy_templates/dbe81271-785d-4939-bf4b-485a87bd8b9b [{'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-d210c4c6-4960-45bd-8351-6ef2cb566675 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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-575c06ea-0e40-4155-bd83-31e8fa5c7249 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-5eb92569-c781-4b66-81a2-88449ee654df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-056733f0-cc1c-4a48-a0ef-9f4a3e230d4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-b5227b4b-bec8-499e-aa1c-22b08f8c2c1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00285_chassis_chassis_id_get_admin [0.222235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00092_nodes_traits_trait_delete_reader [0.313728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00292_chassis_chassis_id_delete_member [0.192697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00111_portgroups_post_reader [0.310282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00124_nodes_portgroups_get_admin [0.395861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00097_nodes_vifs_post_member [0.276460s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00005_nodes_get_node_admin [0.302658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00112_portgroups_detail_get_admin [0.235009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00125_nodes_portgroups_get_member [0.336885s] ... ok 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-f200ea1c-af1f-4cef-85ef-3bdcae60de48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f200ea1c-af1f-4cef-85ef-3bdcae60de48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-47dcec8b-af14-43a6-ad0b-9f2bf2a92a43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-47dcec8b-af14-43a6-ad0b-9f2bf2a92a43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4 DEBUG util.py:445: Openstack-Request-Id: req-a474e6c0-2d1a-4b35-a3d0-65e3bb732786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e04c1586-1af0-40f0-9287-3b2d9ca3d2b4", "created_at": "2023-10-12T03:28:33.789221+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/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4", "rel": "self"}, {"href": "http://localhost/portgroups/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4/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/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4 DEBUG util.py:445: Openstack-Request-Id: req-a474e6c0-2d1a-4b35-a3d0-65e3bb732786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e04c1586-1af0-40f0-9287-3b2d9ca3d2b4", "created_at": "2023-10-12T03:28:33.789221+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/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4", "rel": "self"}, {"href": "http://localhost/portgroups/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/e04c1586-1af0-40f0-9287-3b2d9ca3d2b4/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-acb6611b-0aa2-4375-b335-27b3901bf694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-acb6611b-0aa2-4375-b335-27b3901bf694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-693a0cf2-3d89-4346-89ba-3eb4bf0a50cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-693a0cf2-3d89-4346-89ba-3eb4bf0a50cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b58af0b8-ab86-4a23-8e8b-90957aebc9f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.465409+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-b58af0b8-ab86-4a23-8e8b-90957aebc9f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.465409+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/detail{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00113_portgroups_detail_get_member [0.216809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00114_portgroups_detail_get_reader [0.242278s] ... 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-b0f8ccac-22fd-49fa-b631-7b9d9e16d821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b0f8ccac-22fd-49fa-b631-7b9d9e16d821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5752716f-9a0f-4a15-b8a6-9d6996539ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5752716f-9a0f-4a15-b8a6-9d6996539ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f22540c2-2dc8-446e-a35d-bb241ff13f24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f22540c2-2dc8-446e-a35d-bb241ff13f24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-54305dbe-535f-4ff0-9130-336dae485150 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-54305dbe-535f-4ff0-9130-336dae485150 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-82b744fd-579d-4aac-bcd0-513f141654b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-82b744fd-579d-4aac-bcd0-513f141654b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5c761b9f-4385-4319-a3a4-dd5b3b8ab03f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5c761b9f-4385-4319-a3a4-dd5b3b8ab03f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-941c2790-4b78-4e73-923f-3ebeed1148c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-941c2790-4b78-4e73-923f-3ebeed1148c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-ac17a600-c871-45bd-87e7-3e8ad4434723 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ac17a600-c871-45bd-87e7-3e8ad4434723 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f169630-44ee-4a85-a225-1c2cda7a24fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00098_nodes_vifs_post_reader [0.334981s] ... ok 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-cb0389fa-b760-4cb9-a7d5-62c3e8b0244f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8dff2dc9-0fab-4a43-b717-bc6ba9ef7ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:34.370178+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-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, "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: 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-8dff2dc9-0fab-4a43-b717-bc6ba9ef7ac3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:34.370178+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-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, "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-2e9d40e4-819a-4a17-911c-2f9067af6f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:34.697783+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-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, "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": "2023-10-12T03:28:34.728448+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-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, "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": "4545efdd-b423-4168-8551-55edc7f3f2b0", "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": "2023-10-12T03:28:34.760556+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": "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/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_00012_nodes_detail_get_member [0.338623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00127_nodes_portgroups_detail_get_admin [0.494534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00119_portgroups_portgroup_ident_patch_member [0.200813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00099_nodes_vifs_node_vif_ident_delete_admin [0.452100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00131_ports_get_member [0.198964s] ... 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-2e9d40e4-819a-4a17-911c-2f9067af6f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:34.697783+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-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, "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": "2023-10-12T03:28:34.728448+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-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, "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": "4545efdd-b423-4168-8551-55edc7f3f2b0", "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": "2023-10-12T03:28:34.760556+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": "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/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: 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-86851005-a058-4334-adce-d3022565eeb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:35.136209+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-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, "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": "2023-10-12T03:28:35.138812+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-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, "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": "4b5074e2-af5a-4a60-9a16-85c643f884f7", "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": "2023-10-12T03:28:35.267714+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": "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/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.447520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00103_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00132_ports_get_reader [0.253469s] ... 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-cc0d470a-17a7-45ec-9c74-e8d0d965016f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:33.852913+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-cc0d470a-17a7-45ec-9c74-e8d0d965016f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:33.852913+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-8c22124e-c6cc-4cc9-809d-77c58c30f2cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8c22124e-c6cc-4cc9-809d-77c58c30f2cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-547b6484-a28f-41fe-8a85-2c3aec3a2d68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-547b6484-a28f-41fe-8a85-2c3aec3a2d68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e823a354-3f1b-4188-a7c3-1df75ade0f46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.926707+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-e823a354-3f1b-4188-a7c3-1df75ade0f46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.926707+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-c70a9924-325c-4a19-a9fd-6017381e119f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:35.447388+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-c70a9924-325c-4a19-a9fd-6017381e119f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:35.447388+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_00129_nodes_portgroups_detail_get_reader [0.512978s] ... 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-86851005-a058-4334-adce-d3022565eeb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2023-10-12T03:28:35.136209+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-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, "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": "2023-10-12T03:28:35.138812+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-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, "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": "4b5074e2-af5a-4a60-9a16-85c643f884f7", "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": "2023-10-12T03:28:35.267714+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": "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/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: 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'}}]{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00121_portgroups_portgroup_ident_delete_admin [0.242800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00020_nodes_node_ident_patch_member [0.666076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00128_nodes_portgroups_detail_get_member [0.162914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00134_ports_post_member [0.355819s] ... ok 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-b6ad15aa-77f4-4137-9853-5a428bf0737f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.676898+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-b6ad15aa-77f4-4137-9853-5a428bf0737f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.676898+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/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-5c7e4d80-62bb-43aa-a455-e0233a08f080 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.944900+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-5c7e4d80-62bb-43aa-a455-e0233a08f080 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:34.944900+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-170ad31a-bcf5-4b87-82b4-18f3c0f2e38d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-170ad31a-bcf5-4b87-82b4-18f3c0f2e38d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-94d07263-5930-40c1-aecb-13792c57535b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-94d07263-5930-40c1-aecb-13792c57535b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d6fa9c89-2ac1-47a6-9799-1af4319d71c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d6fa9c89-2ac1-47a6-9799-1af4319d71c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-558c438f-de48-43df-97f3-fcb4f6f86010 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-558c438f-de48-43df-97f3-fcb4f6f86010 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00144_ports_port_id_patch_reader [0.393693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00133_ports_post_admin [0.182829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00023_nodes_node_ident_delete_member [0.228252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00135_ports_post_reader [0.122186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00146_ports_port_id_delete_member [0.337642s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00024_nodes_node_ident_delete_reader [0.206934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00136_ports_detail_get_admin [0.393630s] ... 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-0f169630-44ee-4a85-a225-1c2cda7a24fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7759f8f-88d2-41bb-80d1-e0876fd61ed2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a7759f8f-88d2-41bb-80d1-e0876fd61ed2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-91fca487-895f-442d-b12e-a213cf8e9a40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-91fca487-895f-442d-b12e-a213cf8e9a40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-68616b56-df84-475e-bd5b-337fbd7a8df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:35.982916+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-68616b56-df84-475e-bd5b-337fbd7a8df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:35.982916+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 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-f1aa342c-087c-4310-8c73-1ce661be4b75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f1aa342c-087c-4310-8c73-1ce661be4b75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-c2da788c-447f-49a4-b341-560232d5a4de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c2da788c-447f-49a4-b341-560232d5a4de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5cd3e2b3-74ce-4d44-a75f-299cf1365cee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.478451+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-5cd3e2b3-74ce-4d44-a75f-299cf1365cee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.478451+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}]}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00138_ports_detail_get_reader [0.215676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00025_nodes_validate_get_admin [0.322089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00142_ports_port_id_patch_admin [0.295678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00152_nodes_ports_detail_get_member [0.466563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00137_ports_detail_get_member [0.359827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00026_nodes_validate_get_member [0.184995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00140_ports_port_id_get_member [0.225610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00161_volume_get_member [0.270435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00145_ports_port_id_delete_admin [0.298532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00027_nodes_validate_get_reader [0.309817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00148_nodes_ports_get_admin [0.302108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00163_volume_connectors_get_admin [0.300744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00150_nodes_ports_get_reader [0.326819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00033_nodes_maintenance_delete_reader [0.325553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00036_nodes_management_boot_device_put_reader [0.127458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00164_volume_connectors_get_member [0.388153s] ... 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-1a985469-bf74-416b-8a0e-22f117b5c0a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1a985469-bf74-416b-8a0e-22f117b5c0a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cca9e496-5d9f-4666-bc02-ebbedea1729d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.263484+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-cca9e496-5d9f-4666-bc02-ebbedea1729d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.263484+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-c3002d3c-14c0-475f-9261-b8538a4ee818 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.666797+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-c3002d3c-14c0-475f-9261-b8538a4ee818 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.666797+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-6333a5f1-d29c-4abd-8597-889d92488644 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:37.045488+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-6333a5f1-d29c-4abd-8597-889d92488644 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:37.045488+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-31ec7613-cc2f-4a6f-83b6-e87026f16938 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-31ec7613-cc2f-4a6f-83b6-e87026f16938 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00149_nodes_ports_get_member [0.432274s] ... 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-11fe4889-9f07-47a2-a96b-25229fdfe57e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-11fe4889-9f07-47a2-a96b-25229fdfe57e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1450355d-a4f2-4c51-8d99-427fcff9c683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1450355d-a4f2-4c51-8d99-427fcff9c683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-26d11988-176d-4e6e-b7ca-491029b36c70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-26d11988-176d-4e6e-b7ca-491029b36c70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ae1250df-5f56-47b0-a687-582b136393fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ae1250df-5f56-47b0-a687-582b136393fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5091098a-8917-4986-8922-0d91a34fd777 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5091098a-8917-4986-8922-0d91a34fd777 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e80888c-e0f3-4ce8-a474-be025f9d86be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0e80888c-e0f3-4ce8-a474-be025f9d86be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-767720d5-be49-4ffe-8d84-c131e6d530e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-767720d5-be49-4ffe-8d84-c131e6d530e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1f45cbc-99a1-41bb-bb2d-35cbfdd9e81f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c1f45cbc-99a1-41bb-bb2d-35cbfdd9e81f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-40f4ff52-20e3-4a0f-b5b9-7fed73c98c2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00047_nodes_states_get_member [0.120051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00154_portgroups_ports_get_admin [0.553376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00048_nodes_states_get_reader [0.225329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00156_portgroups_ports_get_reader [0.371897s] ... ok 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-1ca5614c-6382-4d90-8778-9fd7598f6e55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1ca5614c-6382-4d90-8778-9fd7598f6e55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cc2b2ddc-72c7-4801-ae19-09e5dc83ce46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.645646+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-cc2b2ddc-72c7-4801-ae19-09e5dc83ce46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:36.645646+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-20f52fc1-675e-4184-b261-830656e423c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-20f52fc1-675e-4184-b261-830656e423c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ff2adde-1f7c-4284-92f2-7bad932e71c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2ff2adde-1f7c-4284-92f2-7bad932e71c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e227e2e9-783d-499f-bb57-2db619d1394b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e227e2e9-783d-499f-bb57-2db619d1394b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f24fa564-a84f-477a-96e8-657a23342f7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f24fa564-a84f-477a-96e8-657a23342f7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}]}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00165_volume_connectors_get_reader [0.390670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00050_nodes_states_power_put_member [0.203803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00155_portgroups_ports_get_member [0.342652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00167_volume_connectors_post_member [0.231598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00053_nodes_states_provision_put_member [0.205487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00158_portgroups_ports_detail_get_member [0.333719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00157_portgroups_ports_detail_get_admin [0.326667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00054_nodes_states_provision_put_reader [0.237296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00171_volume_volume_connector_id_get_reader [0.295376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00059_nodes_states_console_get_member [0.127147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00063_nodes_vendor_passthru_methods_get_admin [0.081770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00175_volume_volume_connector_id_delete_admin [0.156538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00170_volume_volume_connector_id_get_member [0.441071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00064_nodes_vendor_passthru_methods_get_member [0.114396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00166_volume_connectors_post_admin [0.361172s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00177_volume_volume_connector_id_delete_reader [0.200797s] ... 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-40f4ff52-20e3-4a0f-b5b9-7fed73c98c2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} 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-8c2522c7-c353-49c8-94a4-8faae2600b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c2522c7-c353-49c8-94a4-8faae2600b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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": {}} 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-d29aa714-4ca7-4ec1-b4cc-d82969832351 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d29aa714-4ca7-4ec1-b4cc-d82969832351 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4b5ad881-38c7-46ca-8485-09b04a9b9237 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4b5ad881-38c7-46ca-8485-09b04a9b9237 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a3b75d1-42ca-4771-b3ea-a74b9e7befe3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8a3b75d1-42ca-4771-b3ea-a74b9e7befe3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-9ef16bba-14df-44cf-a0c3-26d819a8f8b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9ef16bba-14df-44cf-a0c3-26d819a8f8b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1e32b007-7c8b-42d8-a2be-365f607a1267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-1e32b007-7c8b-42d8-a2be-365f607a1267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a0950b9b-6d0a-4eea-a0ca-cc9ca6d5a8ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a0950b9b-6d0a-4eea-a0ca-cc9ca6d5a8ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-edbe83b0-7798-4af2-bb65-fedaf5b7f116 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-edbe83b0-7798-4af2-bb65-fedaf5b7f116 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACScopedRequests.test_system_scoped_00065_nodes_vendor_passthru_methods_get_reader [0.077111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00067_nodes_vendor_passthru_get_member [0.110872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00072_nodes_vendor_passthru_put_admin [0.097148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00172_volume_volume_connector_id_patch_admin [0.285247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00179_volume_targets_get_member [0.235655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00174_volume_volume_connector_id_patch_reader [0.123984s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00073_nodes_vendor_passthru_put_member [0.117001s] ... 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7d287cd-e18e-4e90-98e3-4ed0fd4823e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b7d287cd-e18e-4e90-98e3-4ed0fd4823e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f631642e-c180-448f-a9be-924d6260f117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f631642e-c180-448f-a9be-924d6260f117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18fa2894-17e6-4387-93b8-64a7fdc81a6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-18fa2894-17e6-4387-93b8-64a7fdc81a6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fc617f66-ff17-4389-b452-f099b65c0955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fc617f66-ff17-4389-b452-f099b65c0955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c1130832-a242-4d98-a910-978f205bc76b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c1130832-a242-4d98-a910-978f205bc76b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e3047584-49f7-48b5-88db-d2feb871ad9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e3047584-49f7-48b5-88db-d2feb871ad9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": []} 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/91012a41-2f8a-493d-a451-dd7895fdcd22 DEBUG util.py:445: Openstack-Request-Id: req-bb5af0f9-a071-457d-8edd-5f3a5ecf37eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "91012a41-2f8a-493d-a451-dd7895fdcd22", "created_at": "2023-10-12T03:28:39.098103+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/91012a41-2f8a-493d-a451-dd7895fdcd22", "rel": "self"}, {"href": "http://localhost/volume/connectors/91012a41-2f8a-493d-a451-dd7895fdcd22", "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/91012a41-2f8a-493d-a451-dd7895fdcd22 DEBUG util.py:445: Openstack-Request-Id: req-bb5af0f9-a071-457d-8edd-5f3a5ecf37eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "91012a41-2f8a-493d-a451-dd7895fdcd22", "created_at": "2023-10-12T03:28:39.098103+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/91012a41-2f8a-493d-a451-dd7895fdcd22", "rel": "self"}, {"href": "http://localhost/volume/connectors/91012a41-2f8a-493d-a451-dd7895fdcd22", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-0b4ef464-3bcc-4021-b7c8-12abc4e15a7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:39.238749+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-0b4ef464-3bcc-4021-b7c8-12abc4e15a7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:39.238749+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00169_volume_volume_connector_id_get_admin [0.337101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00074_nodes_vendor_passthru_put_reader [0.137182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00178_volume_targets_get_admin [0.241333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00088_nodes_traits_trait_put_member [0.082137s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00089_nodes_traits_trait_put_reader [0.084560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00180_volume_targets_get_reader [0.400722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00093_nodes_vifs_get_admin [0.082902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00189_volume_volume_target_id_delete_admin [0.274437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00094_nodes_vifs_get_member [0.144397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00176_volume_volume_connector_id_delete_member [0.581685s] ... 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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/c1f92685-b8de-46a6-85b1-c3bd1cc23cbe DEBUG util.py:445: Openstack-Request-Id: req-c83bbaad-1eb1-4611-96fe-a37cb635a19c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c1f92685-b8de-46a6-85b1-c3bd1cc23cbe", "created_at": "2023-10-12T03:28:38.500346+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/c1f92685-b8de-46a6-85b1-c3bd1cc23cbe", "rel": "self"}, {"href": "http://localhost/volume/connectors/c1f92685-b8de-46a6-85b1-c3bd1cc23cbe", "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/c1f92685-b8de-46a6-85b1-c3bd1cc23cbe DEBUG util.py:445: Openstack-Request-Id: req-c83bbaad-1eb1-4611-96fe-a37cb635a19c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c1f92685-b8de-46a6-85b1-c3bd1cc23cbe", "created_at": "2023-10-12T03:28:38.500346+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/c1f92685-b8de-46a6-85b1-c3bd1cc23cbe", "rel": "self"}, {"href": "http://localhost/volume/connectors/c1f92685-b8de-46a6-85b1-c3bd1cc23cbe", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-9a09198d-9979-4acd-8985-7487a24afbc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:38.676910+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-9a09198d-9979-4acd-8985-7487a24afbc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:38.676910+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 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-d4893019-1eef-4bc1-bdf4-a4e0831a11d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d4893019-1eef-4bc1-bdf4-a4e0831a11d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a680191d-e62c-4476-adae-86a1f6b61c8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a680191d-e62c-4476-adae-86a1f6b61c8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7aadc58b-77d0-4cbc-b3f1-56eb6376e58c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7aadc58b-77d0-4cbc-b3f1-56eb6376e58c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ce5319bf-2862-4be3-9972-bc1457ecee95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ce5319bf-2862-4be3-9972-bc1457ecee95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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': 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/72f0e2ee-bbbb-4159-a50e-3130b31e0f6e DEBUG util.py:445: Openstack-Request-Id: req-f72f74a4-4589-43c0-948b-25bb3cd247aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "72f0e2ee-bbbb-4159-a50e-3130b31e0f6e", "created_at": "2023-10-12T03:28:40.152431+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/72f0e2ee-bbbb-4159-a50e-3130b31e0f6e", "rel": "self"}, {"href": "http://localhost/volume/targets/72f0e2ee-bbbb-4159-a50e-3130b31e0f6e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00182_volume_targets_post_member [0.362574s] ... 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45651af3-5fa8-4626-a78c-9a007918e02e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-45651af3-5fa8-4626-a78c-9a007918e02e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-72f17b26-59c0-41f4-b026-f039a6c1e42d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-72f17b26-59c0-41f4-b026-f039a6c1e42d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-da4917aa-40c3-40a1-8cd1-2400422eaeb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-da4917aa-40c3-40a1-8cd1-2400422eaeb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-afd68364-453b-4a9f-9887-e70dc3fd00fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-afd68364-453b-4a9f-9887-e70dc3fd00fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-78f3cd4b-33b3-4c8d-a28c-9ba700bb54e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-78f3cd4b-33b3-4c8d-a28c-9ba700bb54e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cf0ee2e-d12e-4200-8ab3-c0b3b29cd1d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6cf0ee2e-d12e-4200-8ab3-c0b3b29cd1d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-41cbed4a-3bf7-4aa6-af70-311713cf80ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-41cbed4a-3bf7-4aa6-af70-311713cf80ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bd9f35b4-7e80-49d2-99e2-b3713827d907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-bd9f35b4-7e80-49d2-99e2-b3713827d907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6e8cddd0-307e-4d2c-941c-f90e2ff9ef26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00095_nodes_vifs_get_reader [0.362875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00100_nodes_vifs_node_vif_ident_delete_member [0.081730s] ... ok 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-f884e8fd-fa7a-4c5b-83c4-050ab014ef89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f884e8fd-fa7a-4c5b-83c4-050ab014ef89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-429fe991-5540-47ae-8f4c-fa53c9541a46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-429fe991-5540-47ae-8f4c-fa53c9541a46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-10dba47c-889a-4c8d-89ed-1a8ed1f6a690 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-10dba47c-889a-4c8d-89ed-1a8ed1f6a690 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-10f8a7b0-7a38-4df7-8032-b8d2e08864f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:38.877101+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-10f8a7b0-7a38-4df7-8032-b8d2e08864f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:38.877101+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-16cc768b-373a-4887-9062-c4129e8b32d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-16cc768b-373a-4887-9062-c4129e8b32d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4cd42daa-f730-4703-b469-c4b8274d4158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4cd42daa-f730-4703-b469-c4b8274d4158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-334c56cb-bd75-4a0d-be4c-024bb958a1c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-334c56cb-bd75-4a0d-be4c-024bb958a1c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e0885f3d-52c0-4f1b-a907-8b2d659070d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:40.232033+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-e0885f3d-52c0-4f1b-a907-8b2d659070d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:40.232033+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00184_volume_volume_target_id_get_admin [0.409507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00193_nodes_volume_get_member [0.543327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00183_volume_targets_post_reader [0.407957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00104_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00195_nodes_volume_connectors_get_admin [0.170577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00186_volume_volume_target_id_get_reader [0.241395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00201_drivers_get_admin [0.105317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00106_portgroups_get_admin [0.233429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00203_drivers_get_reader [0.085517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00188_volume_volume_target_id_patch_reader [0.294126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00187_volume_volume_target_id_patch_admin [0.248122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00216_drivers_vendor_passthru_get_admin [0.132421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00116_portgroups_portgroup_ident_get_member [0.196373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00198_nodes_volume_targets_get_admin [0.206155s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00192_nodes_volume_get_admin [0.247063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00118_portgroups_portgroup_ident_patch_admin [0.179295s] ... ok 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-b5abf761-ef89-4677-9894-b8084cb90d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b5abf761-ef89-4677-9894-b8084cb90d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-da9e3b34-0422-4326-8ba3-2e3b2acd43fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-da9e3b34-0422-4326-8ba3-2e3b2acd43fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c67b5660-4705-4ff5-beff-5d89f708e06a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c67b5660-4705-4ff5-beff-5d89f708e06a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-529acc5d-63d8-4e5b-889e-eecf5a5a9498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-529acc5d-63d8-4e5b-889e-eecf5a5a9498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-586adf25-4b05-4b43-b9f6-e60c2085e544 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-586adf25-4b05-4b43-b9f6-e60c2085e544 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-82a76b9b-805d-495e-8717-268c9ec9a217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-82a76b9b-805d-495e-8717-268c9ec9a217 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"drivers": []} 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-78f1e111-b1e6-4a2c-968e-8ed47c18f745 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-78f1e111-b1e6-4a2c-968e-8ed47c18f745 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-15c539ff-4817-42b8-bd70-76cd716a6bea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACScopedRequests.test_system_scoped_00223_drivers_vendor_passthru_put_member [0.131966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00228_nodes_bios_get_member [0.080626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00237_conductors_hostname_get_member [0.107068s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00202_drivers_get_member [0.180889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00194_nodes_volume_get_reader [0.205757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00238_conductors_hostname_get_reader [0.131593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00120_portgroups_portgroup_ident_patch_reader [0.283266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00122_portgroups_portgroup_ident_delete_member [0.114909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00200_nodes_volume_targets_get_reader [0.282913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00242_allocations_get_admin [0.225715s] ... 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-6e8cddd0-307e-4d2c-941c-f90e2ff9ef26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6733b0e4-78d6-4066-8fb5-3c2cbe6c2fba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6733b0e4-78d6-4066-8fb5-3c2cbe6c2fba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-30bac10d-9202-4303-a1eb-f8af4404093a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-30bac10d-9202-4303-a1eb-f8af4404093a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-07ff3ecb-86f7-40fa-81df-7929080157d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:40.894668+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-07ff3ecb-86f7-40fa-81df-7929080157d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2023-10-12T03:28:40.894668+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-f1ac7a6d-c66e-45f8-befd-fb4e4b1ca383 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f1ac7a6d-c66e-45f8-befd-fb4e4b1ca383 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c08f898e-264c-421e-8b83-123a0a43107b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c08f898e-264c-421e-8b83-123a0a43107b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-16b07794-ad19-4465-b217-59c9b19fc54d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-16b07794-ad19-4465-b217-59c9b19fc54d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-820f3c6b-d0b4-4e79-acc6-3e32cc742fa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00123_portgroups_portgroup_ident_delete_reader [0.079644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00206_drivers_driver_name_get_reader [0.655681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00244_allocations_get_reader [0.240282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00126_nodes_portgroups_get_reader [0.291530s] ... ok 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-9f01fad9-ee40-4264-a353-110dc80fd0e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:40.573565+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-9f01fad9-ee40-4264-a353-110dc80fd0e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:40.573565+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-7d496638-dce1-416d-a135-075a2e486287 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7d496638-dce1-416d-a135-075a2e486287 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2bee4d0a-8334-4f49-9840-3409bba12324 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2bee4d0a-8334-4f49-9840-3409bba12324 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b74f561-1124-4c0d-94ad-5456bd8e6c31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5b74f561-1124-4c0d-94ad-5456bd8e6c31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-0b05403f-9e06-48d9-bcdf-dd16464dc60d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0b05403f-9e06-48d9-bcdf-dd16464dc60d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-47674aee-706e-47de-99bc-da54a05ec50d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00204_drivers_driver_name_get_admin [0.298138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00130_ports_get_admin [0.246049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00210_drivers_raid_logical_disk_properties_get_admin [0.280309s] ... 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-15c539ff-4817-42b8-bd70-76cd716a6bea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4b0dfa50-bf7f-493d-9f1d-de63e5626a40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:28:41.189333+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-4b0dfa50-bf7f-493d-9f1d-de63e5626a40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:28:41.189333+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-f95b42fa-52a5-4bf8-a895-2dfb9122e4fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:28:41.267183+00:00", "updated_at": "2023-10-12T03:28:41.268314+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-f95b42fa-52a5-4bf8-a895-2dfb9122e4fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:28:41.267183+00:00", "updated_at": "2023-10-12T03:28:41.268314+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/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-7f0d3fa4-07f1-461f-b1ee-c681bed6ca69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:28:41.402361+00:00", "updated_at": "2023-10-12T03:28:41.403471+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-7f0d3fa4-07f1-461f-b1ee-c681bed6ca69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:28:41.402361+00:00", "updated_at": "2023-10-12T03:28:41.403471+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-e95e59f6-884c-4fd4-a0dc-32597163d764 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "12f81521-10c8-4087-8542-adefe6b71361", "created_at": "2023-10-12T03:28:41.513947+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/12f81521-10c8-4087-8542-adefe6b71361", "rel": "self"}, {"href": "http://localhost/allocations/12f81521-10c8-4087-8542-adefe6b71361", "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-e95e59f6-884c-4fd4-a0dc-32597163d764 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "12f81521-10c8-4087-8542-adefe6b71361", "created_at": "2023-10-12T03:28:41.513947+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/12f81521-10c8-4087-8542-adefe6b71361", "rel": "self"}, {"href": "http://localhost/allocations/12f81521-10c8-4087-8542-adefe6b71361", "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-7197ad6a-a768-4c2f-9355-37ccd53b9ab8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "13b8561c-cba5-4f35-b50c-a8f390065b42", "created_at": "2023-10-12T03:28:41.797180+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/13b8561c-cba5-4f35-b50c-a8f390065b42", "rel": "self"}, {"href": "http://localhost/allocations/13b8561c-cba5-4f35-b50c-a8f390065b42", "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-7197ad6a-a768-4c2f-9355-37ccd53b9ab8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "13b8561c-cba5-4f35-b50c-a8f390065b42", "created_at": "2023-10-12T03:28:41.797180+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/13b8561c-cba5-4f35-b50c-a8f390065b42", "rel": "self"}, {"href": "http://localhost/allocations/13b8561c-cba5-4f35-b50c-a8f390065b42", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/e48aa2e2-60c3-4259-8f44-b0d13f6ea9b6 DEBUG util.py:445: PATCH: /v1/allocations/e48aa2e2-60c3-4259-8f44-b0d13f6ea9b6 [{'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-55a0ca0b-cce7-4a72-81b0-0f14afc08489 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00250_allocations_allocation_id_patch_reader [0.192505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00205_drivers_driver_name_get_member [0.282947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00255_nodes_allocation_get_member [0.230935s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00207_drivers_properties_get_admin [0.155092s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00256_nodes_allocation_get_reader [0.155696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00208_drivers_properties_get_member [0.087045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00213_drivers_vendor_passthru_methods_get_admin [0.371043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00211_drivers_raid_logical_disk_properties_get_member [0.114231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00139_ports_port_id_get_admin [0.443416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00259_nodes_allocation_delete_reader [0.197962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00220_drivers_vendor_passthru_post_member [0.183921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00260_deploy_templates_post_admin [0.136264s] ... ok 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/72f0e2ee-bbbb-4159-a50e-3130b31e0f6e DEBUG util.py:445: Openstack-Request-Id: req-f72f74a4-4589-43c0-948b-25bb3cd247aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "72f0e2ee-bbbb-4159-a50e-3130b31e0f6e", "created_at": "2023-10-12T03:28:40.152431+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/72f0e2ee-bbbb-4159-a50e-3130b31e0f6e", "rel": "self"}, {"href": "http://localhost/volume/targets/72f0e2ee-bbbb-4159-a50e-3130b31e0f6e", "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-54b89e17-986d-4534-91c5-b1bc341ff68c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-54b89e17-986d-4534-91c5-b1bc341ff68c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9d12fd0-a8c6-43c1-bd17-0fc51a05c326 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c9d12fd0-a8c6-43c1-bd17-0fc51a05c326 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8d28d315-89a4-4fe3-a5ac-4052461b39a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8d28d315-89a4-4fe3-a5ac-4052461b39a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3411c42e-5a39-49de-b49f-49ef2abc7c87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3411c42e-5a39-49de-b49f-49ef2abc7c87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-50cc3494-1d3b-4d93-a550-16a277af173b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-50cc3494-1d3b-4d93-a550-16a277af173b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e12a9494-ab88-4f84-b434-33d073126fee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e12a9494-ab88-4f84-b434-33d073126fee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3c9247b0-d03b-441c-a6a6-388fb692646f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3c9247b0-d03b-441c-a6a6-388fb692646f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-16774db8-5484-44f1-a0e0-e6a9eb4094e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-16774db8-5484-44f1-a0e0-e6a9eb4094e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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_00214_drivers_vendor_passthru_methods_get_member [0.319846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00262_deploy_templates_post_reader [0.139063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00141_ports_port_id_get_reader [0.333061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00221_drivers_vendor_passthru_post_reader [0.225692s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00215_drivers_vendor_passthru_methods_get_reader [0.296608s] ... 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-55a0ca0b-cce7-4a72-81b0-0f14afc08489 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-95ddd8bc-49bd-4273-924e-e32269a5d26d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3f0f00e0-bb74-484f-8d75-a0af12b88315", "created_at": "2023-10-12T03:28:42.244055+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3f0f00e0-bb74-484f-8d75-a0af12b88315", "rel": "self"}, {"href": "http://localhost/allocations/3f0f00e0-bb74-484f-8d75-a0af12b88315", "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-95ddd8bc-49bd-4273-924e-e32269a5d26d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "3f0f00e0-bb74-484f-8d75-a0af12b88315", "created_at": "2023-10-12T03:28:42.244055+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3f0f00e0-bb74-484f-8d75-a0af12b88315", "rel": "self"}, {"href": "http://localhost/allocations/3f0f00e0-bb74-484f-8d75-a0af12b88315", "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-19ae7115-b0cc-4c77-ba19-21986df15eaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "dfa8f610-83e2-4f19-af0e-67a73f099bae", "created_at": "2023-10-12T03:28:42.413881+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dfa8f610-83e2-4f19-af0e-67a73f099bae", "rel": "self"}, {"href": "http://localhost/allocations/dfa8f610-83e2-4f19-af0e-67a73f099bae", "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-19ae7115-b0cc-4c77-ba19-21986df15eaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "dfa8f610-83e2-4f19-af0e-67a73f099bae", "created_at": "2023-10-12T03:28:42.413881+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dfa8f610-83e2-4f19-af0e-67a73f099bae", "rel": "self"}, {"href": "http://localhost/allocations/dfa8f610-83e2-4f19-af0e-67a73f099bae", "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-8124b904-0702-4517-803c-5821d5032aef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8124b904-0702-4517-803c-5821d5032aef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/e67ef771-1ef9-4926-bbaf-f49e49dc282a DEBUG util.py:445: Openstack-Request-Id: req-95fa11cf-3230-4a7d-9c1a-855dd21b212e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e67ef771-1ef9-4926-bbaf-f49e49dc282a", "created_at": "2023-10-12T03:28:42.841365+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e67ef771-1ef9-4926-bbaf-f49e49dc282a", "rel": "self"}, {"href": "http://localhost/deploy_templates/e67ef771-1ef9-4926-bbaf-f49e49dc282a", "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/e67ef771-1ef9-4926-bbaf-f49e49dc282a DEBUG util.py:445: Openstack-Request-Id: req-95fa11cf-3230-4a7d-9c1a-855dd21b212e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e67ef771-1ef9-4926-bbaf-f49e49dc282a", "created_at": "2023-10-12T03:28:42.841365+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e67ef771-1ef9-4926-bbaf-f49e49dc282a", "rel": "self"}, {"href": "http://localhost/deploy_templates/e67ef771-1ef9-4926-bbaf-f49e49dc282a", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} 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-00853837-4c4b-426b-a0c2-04b2515a110f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-00853837-4c4b-426b-a0c2-04b2515a110f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-c17ef200-f9a9-46b8-9d4f-e81ed4106789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00222_drivers_vendor_passthru_put_admin [0.348488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00278_chassis_get_admin [0.316310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00143_ports_port_id_patch_member [0.450023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00218_drivers_vendor_passthru_get_reader [0.294563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00283_chassis_detail_get_reader [0.290018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00224_drivers_vendor_passthru_put_reader [0.124579s] ... 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-820f3c6b-d0b4-4e79-acc6-3e32cc742fa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c14f581f-d4d0-4f2d-a4b0-c13297541bb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c14f581f-d4d0-4f2d-a4b0-c13297541bb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-86c2036a-5c5f-4b0e-bfc2-8b9da77e44d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-86c2036a-5c5f-4b0e-bfc2-8b9da77e44d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-9cf4c96b-785a-4977-b64d-83bc2c7b6fa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:42.366041+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-9cf4c96b-785a-4977-b64d-83bc2c7b6fa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:42.366041+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-b043b0ee-21cf-487a-84f6-74b7182d748b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:42.810218+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-b043b0ee-21cf-487a-84f6-74b7182d748b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:42.810218+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-0ca8b0de-247d-44a0-a9d7-4c1d0a20773f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0ca8b0de-247d-44a0-a9d7-4c1d0a20773f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-d016aea4-517d-4a28-8c02-2526991a6c5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00147_ports_port_id_delete_reader [0.123911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00151_nodes_ports_detail_get_admin [0.115859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00229_nodes_bios_get_reader [0.309159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00288_chassis_chassis_id_patch_member [0.154682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00153_nodes_ports_detail_get_reader [0.106492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00225_drivers_vendor_passthru_delete_admin [0.181817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00289_chassis_chassis_id_patch_reader [0.158156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00159_portgroups_ports_detail_get_reader [0.161457s] ... 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-47674aee-706e-47de-99bc-da54a05ec50d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f2c65b00-c8a4-4885-bded-e87dd238e3f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f2c65b00-c8a4-4885-bded-e87dd238e3f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6acdc9d9-ed73-4862-a8ad-f0daecbffa56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6acdc9d9-ed73-4862-a8ad-f0daecbffa56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4718e2d3-8636-4a20-afd1-63403d2faf43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4718e2d3-8636-4a20-afd1-63403d2faf43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6398f4a5-0ca2-4701-8ad2-834b41e87c5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-6398f4a5-0ca2-4701-8ad2-834b41e87c5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3cdcdfc9-d8a7-4bac-aa4b-ad74199dc2a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-3cdcdfc9-d8a7-4bac-aa4b-ad74199dc2a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-81f43eea-e80f-471e-a3d7-ccbb59c22475 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-81f43eea-e80f-471e-a3d7-ccbb59c22475 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f11f6333-a4d0-4134-9e0e-9ff0e5077390 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f11f6333-a4d0-4134-9e0e-9ff0e5077390 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-89b1b156-86ae-40a3-8c5b-1c4473f35539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:28:43.600083+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-89b1b156-86ae-40a3-8c5b-1c4473f35539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:28:43.600083+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{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00230_nodes_bios_bios_setting_get_admin [0.259792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00226_drivers_vendor_passthru_delete_reader [0.193820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00291_chassis_chassis_id_delete_member [0.230328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00233_conductors_get_admin [0.155901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00160_volume_get_admin [0.229649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00231_nodes_bios_bios_setting_get_member [0.206289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00292_chassis_chassis_id_delete_reader [0.157801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00240_allocations_post_member [0.125727s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.142108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00239_allocations_post_admin [0.342326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.055667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00162_volume_get_reader [0.313924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00241_allocations_post_reader [0.168224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.047655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.078087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00243_allocations_get_member [0.342517s] ... 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-c17ef200-f9a9-46b8-9d4f-e81ed4106789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c01f6554-5870-4afd-a0cf-109c40053c54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:43.473819+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-c01f6554-5870-4afd-a0cf-109c40053c54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:43.473819+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-a81c05fd-107c-4faa-9bda-de86a9f1b30c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:43.678186+00:00", "updated_at": "2023-10-12T03:28:43.731670+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-a81c05fd-107c-4faa-9bda-de86a9f1b30c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:43.678186+00:00", "updated_at": "2023-10-12T03:28:43.731670+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-235ebf2b-5097-4c8e-b089-9cf720defe85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-235ebf2b-5097-4c8e-b089-9cf720defe85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-070b58cd-5b84-4aba-a35b-431e5e9b27f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-070b58cd-5b84-4aba-a35b-431e5e9b27f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 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-a166a28f-cb02-4674-bef9-e094198456ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a166a28f-cb02-4674-bef9-e094198456ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc25d2e2-0804-42c7-b0ab-56d5dd9bed63 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-2812f5cb-fb3c-4801-9463-84f0c18770d4 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"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-a223abe8-2136-45f9-89ce-6e4bd3eda414 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': '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-22bc2ce6-f618-466d-a018-f19338112eb7 DEBUG util.py:445: {"three": "three", "four": "four", "five": "five"}{2} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.061820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.155139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.051629s] ... 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-d016aea4-517d-4a28-8c02-2526991a6c5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f183a794-dc81-41bd-abc1-eea5903fecf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:43.598556+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-f183a794-dc81-41bd-abc1-eea5903fecf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:43.598556+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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d670501d-a7aa-46e3-9a52-a4f8c1d5a13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:43.720020+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-d670501d-a7aa-46e3-9a52-a4f8c1d5a13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:43.720020+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/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-01c174c2-b3b4-417f-8244-9b6237f9ae62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-01c174c2-b3b4-417f-8244-9b6237f9ae62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a56c7058-9f77-40e4-8a8f-afab9cb64e3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-a56c7058-9f77-40e4-8a8f-afab9cb64e3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5839ff91-e9c2-421f-b4de-19a6f4c1ea87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5839ff91-e9c2-421f-b4de-19a6f4c1ea87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9cb8b736-21d4-4c36-b7bc-01e7347a3597 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACScopedRequests.test_system_scoped_00168_volume_connectors_post_reader [0.225123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.052860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.074138s] ... 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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0819af39-c866-4c75-9188-972fe1f3e40a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0819af39-c866-4c75-9188-972fe1f3e40a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-455e989e-de01-4c2c-ac95-1b8f504e769a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-455e989e-de01-4c2c-ac95-1b8f504e769a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f4ddc3af-20cf-4617-8b45-b3430bbae337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f4ddc3af-20cf-4617-8b45-b3430bbae337 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b7863ba2-8590-4ef6-a828-f8789dbae80a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-b7863ba2-8590-4ef6-a828-f8789dbae80a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-736eecfd-223a-4da9-b1ba-ea26462c00c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-736eecfd-223a-4da9-b1ba-ea26462c00c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-558acae3-d3f4-4c21-afd1-e56dd6c50fee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:28:44.140622+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-558acae3-d3f4-4c21-afd1-e56dd6c50fee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:28:44.140622+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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05480326-9dfe-4d4f-ad91-3dd5a32c1b76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-05480326-9dfe-4d4f-ad91-3dd5a32c1b76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-5743f3d7-d423-4d00-8381-df385b67359c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-5743f3d7-d423-4d00-8381-df385b67359c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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 delete /v1/allocations/6dd749b5-ea39-40e0-b1a6-3819bf32512d DEBUG util.py:445: DELETE: /v1/allocations/6dd749b5-ea39-40e0-b1a6-3819bf32512d{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00251_allocations_allocation_id_delete_admin [0.347459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00245_allocations_allocation_id_get_admin [0.202025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00173_volume_volume_connector_id_patch_member [0.312032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.072417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.077403s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00252_allocations_allocation_id_delete_member [0.341629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00181_volume_targets_post_admin [0.227609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.113288s] ... ok 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-07c561bd-8604-4609-8ba8-d07da73bcf3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:28:43.851222+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-07c561bd-8604-4609-8ba8-d07da73bcf3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:28:43.851222+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 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-2aa740da-1129-4643-bc9d-9ee37bce14a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2aa740da-1129-4643-bc9d-9ee37bce14a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f6a2c28-967e-4b85-ae60-969f501109c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2f6a2c28-967e-4b85-ae60-969f501109c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-69323d5f-801b-4501-b1fb-2a27bfef42f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "9642a68b-a56e-4a5c-9909-c93106d502eb", "created_at": "2023-10-12T03:28:44.603409+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9642a68b-a56e-4a5c-9909-c93106d502eb", "rel": "self"}, {"href": "http://localhost/allocations/9642a68b-a56e-4a5c-9909-c93106d502eb", "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-69323d5f-801b-4501-b1fb-2a27bfef42f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"allocations": [{"uuid": "9642a68b-a56e-4a5c-9909-c93106d502eb", "created_at": "2023-10-12T03:28:44.603409+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9642a68b-a56e-4a5c-9909-c93106d502eb", "rel": "self"}, {"href": "http://localhost/allocations/9642a68b-a56e-4a5c-9909-c93106d502eb", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/953cc343-16b2-4e57-8290-e27af6bff248 DEBUG util.py:445: GET: /v1/allocations/953cc343-16b2-4e57-8290-e27af6bff248 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4962f5d-8a6b-4c5d-b543-5bea84cdfb64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "953cc343-16b2-4e57-8290-e27af6bff248", "created_at": "2023-10-12T03:28:44.900407+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/953cc343-16b2-4e57-8290-e27af6bff248", "rel": "self"}, {"href": "http://localhost/allocations/953cc343-16b2-4e57-8290-e27af6bff248", "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-f4962f5d-8a6b-4c5d-b543-5bea84cdfb64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "953cc343-16b2-4e57-8290-e27af6bff248", "created_at": "2023-10-12T03:28:44.900407+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/953cc343-16b2-4e57-8290-e27af6bff248", "rel": "self"}, {"href": "http://localhost/allocations/953cc343-16b2-4e57-8290-e27af6bff248", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/683e2013-5e63-4d55-af39-c8589c9795ab DEBUG util.py:445: GET: /v1/allocations/683e2013-5e63-4d55-af39-c8589c9795ab {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77bb1e5f-e82d-45a0-8323-022a21b7e128 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "683e2013-5e63-4d55-af39-c8589c9795ab", "created_at": "2023-10-12T03:28:45.098688+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/683e2013-5e63-4d55-af39-c8589c9795ab", "rel": "self"}, {"href": "http://localhost/allocations/683e2013-5e63-4d55-af39-c8589c9795ab", "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-77bb1e5f-e82d-45a0-8323-022a21b7e128 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "683e2013-5e63-4d55-af39-c8589c9795ab", "created_at": "2023-10-12T03:28:45.098688+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/683e2013-5e63-4d55-af39-c8589c9795ab", "rel": "self"}, {"href": "http://localhost/allocations/683e2013-5e63-4d55-af39-c8589c9795ab", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00246_allocations_allocation_id_get_member [0.176734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.078027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00247_allocations_allocation_id_get_reader [0.174345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.047464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.039947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00185_volume_volume_target_id_get_member [0.195371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.066744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00257_nodes_allocation_delete_admin [0.146986s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create 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:1065: UserWarning: Policy baremetal:node:list_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:1065: UserWarning: Policy baremetal:driver:get 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:1065: UserWarning: Policy baremetal:driver:get_properties 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:1065: UserWarning: Policy baremetal:driver:vendor_passthru 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:1065: UserWarning: Policy baremetal:conductor:get 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:1065: UserWarning: Policy baremetal:deploy_template:create 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:1065: UserWarning: Policy baremetal:deploy_template:update 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:1065: UserWarning: Policy baremetal:deploy_template:update 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:update 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: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.071742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00258_nodes_allocation_delete_member [0.373399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00190_volume_volume_target_id_delete_member [0.149057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00263_deploy_templates_get_admin [0.075117s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00265_deploy_templates_get_reader [0.103343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00191_volume_volume_target_id_delete_reader [0.186789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.302453s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00273_deploy_templates_deploy_template_id_delete_member [0.206149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00264_deploy_templates_get_member [0.319750s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.036446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.046549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.075144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.068018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.043556s] ... 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-9cb8b736-21d4-4c36-b7bc-01e7347a3597 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-85e3c896-90a5-46b9-8dbf-8da0d3f2566a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-85e3c896-90a5-46b9-8dbf-8da0d3f2566a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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/88e1a7a1-a9f0-45ac-b1d0-c376bcdba308 DEBUG util.py:445: Openstack-Request-Id: req-984cbfe0-2291-437d-b4ba-6568178005b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "88e1a7a1-a9f0-45ac-b1d0-c376bcdba308", "created_at": "2023-10-12T03:28:45.219530+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/88e1a7a1-a9f0-45ac-b1d0-c376bcdba308", "rel": "self"}, {"href": "http://localhost/volume/targets/88e1a7a1-a9f0-45ac-b1d0-c376bcdba308", "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/88e1a7a1-a9f0-45ac-b1d0-c376bcdba308 DEBUG util.py:445: Openstack-Request-Id: req-984cbfe0-2291-437d-b4ba-6568178005b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "88e1a7a1-a9f0-45ac-b1d0-c376bcdba308", "created_at": "2023-10-12T03:28:45.219530+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/88e1a7a1-a9f0-45ac-b1d0-c376bcdba308", "rel": "self"}, {"href": "http://localhost/volume/targets/88e1a7a1-a9f0-45ac-b1d0-c376bcdba308", "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-46940237-5ff8-422c-a9a1-272c055484c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:45.347223+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-46940237-5ff8-422c-a9a1-272c055484c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2023-10-12T03:28:45.347223+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 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-7b97493d-3135-4c9b-88fb-4a59b85de394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-7b97493d-3135-4c9b-88fb-4a59b85de394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c365dd53-85fe-4fe7-8470-5c1289559a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c365dd53-85fe-4fe7-8470-5c1289559a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c823f684-9e5a-4652-9328-8586cc7a00da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c823f684-9e5a-4652-9328-8586cc7a00da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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.TestRBACScopedRequests.test_system_scoped_00196_nodes_volume_connectors_get_member [0.262473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.053038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.097563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00269_deploy_templates_deploy_template_id_patch_admin [0.441545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00197_nodes_volume_connectors_get_reader [0.341264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00275_chassis_post_admin [0.471396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.110084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.074254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.053416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.061338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00199_nodes_volume_targets_get_member [0.231612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.063826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.027173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.023046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.020181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00272_deploy_templates_deploy_template_id_delete_admin [0.383424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.026274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.026878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.022932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.042652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00209_drivers_properties_get_reader [0.228514s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/allocations/b87c7aee-b0db-4166-9670-ec2a39672b8b DEBUG util.py:445: GET: /v1/allocations/b87c7aee-b0db-4166-9670-ec2a39672b8b {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f6bf598-0d67-4732-99b1-4517bd0a1ef0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "b87c7aee-b0db-4166-9670-ec2a39672b8b", "created_at": "2023-10-12T03:28:45.276505+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b87c7aee-b0db-4166-9670-ec2a39672b8b", "rel": "self"}, {"href": "http://localhost/allocations/b87c7aee-b0db-4166-9670-ec2a39672b8b", "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-8f6bf598-0d67-4732-99b1-4517bd0a1ef0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "b87c7aee-b0db-4166-9670-ec2a39672b8b", "created_at": "2023-10-12T03:28:45.276505+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b87c7aee-b0db-4166-9670-ec2a39672b8b", "rel": "self"}, {"href": "http://localhost/allocations/b87c7aee-b0db-4166-9670-ec2a39672b8b", "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-2251af87-cefa-45a4-91ee-3ab9af660d58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2251af87-cefa-45a4-91ee-3ab9af660d58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0f4e6466-02e7-4ff7-ab29-f175e4e103e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "5addd991-2949-4969-a6d0-ff78bd6dcd56", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/5addd991-2949-4969-a6d0-ff78bd6dcd56", "rel": "self"}, {"href": "http://localhost/deploy_templates/5addd991-2949-4969-a6d0-ff78bd6dcd56", "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-0f4e6466-02e7-4ff7-ab29-f175e4e103e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "5addd991-2949-4969-a6d0-ff78bd6dcd56", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/5addd991-2949-4969-a6d0-ff78bd6dcd56", "rel": "self"}, {"href": "http://localhost/deploy_templates/5addd991-2949-4969-a6d0-ff78bd6dcd56", "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-810026a2-3d3b-400e-97c0-efed237dd44b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "86d38736-3f16-4910-9d97-7cbbb416fed4", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/86d38736-3f16-4910-9d97-7cbbb416fed4", "rel": "self"}, {"href": "http://localhost/deploy_templates/86d38736-3f16-4910-9d97-7cbbb416fed4", "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-810026a2-3d3b-400e-97c0-efed237dd44b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "86d38736-3f16-4910-9d97-7cbbb416fed4", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/86d38736-3f16-4910-9d97-7cbbb416fed4", "rel": "self"}, {"href": "http://localhost/deploy_templates/86d38736-3f16-4910-9d97-7cbbb416fed4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/ca4dfedd-ef31-4ffc-843e-ca18e3b0ad0f DEBUG util.py:445: DELETE: /v1/deploy_templates/ca4dfedd-ef31-4ffc-843e-ca18e3b0ad0f DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c057350-d632-4c94-8779-8d0ecf71c1ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-4c057350-d632-4c94-8779-8d0ecf71c1ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/5af79a40-d24a-465c-a503-7c70b4f6168b DEBUG util.py:445: Openstack-Request-Id: req-a20477ac-b553-45b5-83cf-4ef0d64ec287 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "5af79a40-d24a-465c-a503-7c70b4f6168b", "created_at": "2023-10-12T03:28:46.379844+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b", "rel": "self"}, {"href": "http://localhost/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b/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/5af79a40-d24a-465c-a503-7c70b4f6168b DEBUG util.py:445: Openstack-Request-Id: req-a20477ac-b553-45b5-83cf-4ef0d64ec287 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "5af79a40-d24a-465c-a503-7c70b4f6168b", "created_at": "2023-10-12T03:28:46.379844+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b", "rel": "self"}, {"href": "http://localhost/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/5af79a40-d24a-465c-a503-7c70b4f6168b/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-cc4f69a2-e0ee-4d95-8dbf-a1b1c3488dc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00276_chassis_post_member [0.427875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00277_chassis_post_reader [0.239149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.147131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00279_chassis_get_member [0.224482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00212_drivers_raid_logical_disk_properties_get_reader [0.215457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.094956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.051421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00285_chassis_chassis_id_get_member [0.154302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.142341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00217_drivers_vendor_passthru_get_member [0.280654s] ... 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-82d789a9-c94d-42ab-988c-853b13125090 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-82d789a9-c94d-42ab-988c-853b13125090 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/8becb7ee-478f-44f5-8510-c8120f3c8c39 DEBUG util.py:445: DELETE: /v1/allocations/8becb7ee-478f-44f5-8510-c8120f3c8c39 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-e1dfba1a-9be4-42b4-bb16-82487fc5ed4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e1dfba1a-9be4-42b4-bb16-82487fc5ed4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f3da6692-9d19-4736-b5eb-9996c329bf55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f3da6692-9d19-4736-b5eb-9996c329bf55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-88d1bd2c-482c-4c47-9409-97d2e3a193d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "a12240b6-f146-4bf8-81d4-1d6a67ceb6f0", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/a12240b6-f146-4bf8-81d4-1d6a67ceb6f0", "rel": "self"}, {"href": "http://localhost/deploy_templates/a12240b6-f146-4bf8-81d4-1d6a67ceb6f0", "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-88d1bd2c-482c-4c47-9409-97d2e3a193d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"deploy_templates": [{"uuid": "a12240b6-f146-4bf8-81d4-1d6a67ceb6f0", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/a12240b6-f146-4bf8-81d4-1d6a67ceb6f0", "rel": "self"}, {"href": "http://localhost/deploy_templates/a12240b6-f146-4bf8-81d4-1d6a67ceb6f0", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/d91312cd-c888-43ae-bd93-1014f93a5566 DEBUG util.py:445: PATCH: /v1/deploy_templates/d91312cd-c888-43ae-bd93-1014f93a5566 [{'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-6be00486-4e8b-4daa-8616-aa177d3b8570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d91312cd-c888-43ae-bd93-1014f93a5566", "created_at": "2023-10-12T03:28:46.143616+00:00", "updated_at": "2023-10-12T03:28:46.296435+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d91312cd-c888-43ae-bd93-1014f93a5566", "rel": "self"}, {"href": "http://localhost/deploy_templates/d91312cd-c888-43ae-bd93-1014f93a5566", "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-6be00486-4e8b-4daa-8616-aa177d3b8570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "d91312cd-c888-43ae-bd93-1014f93a5566", "created_at": "2023-10-12T03:28:46.143616+00:00", "updated_at": "2023-10-12T03:28:46.296435+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d91312cd-c888-43ae-bd93-1014f93a5566", "rel": "self"}, {"href": "http://localhost/deploy_templates/d91312cd-c888-43ae-bd93-1014f93a5566", "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/237778bb-edf4-4514-934c-094546098649 DEBUG util.py:445: DELETE: /v1/deploy_templates/237778bb-edf4-4514-934c-094546098649 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9e907c9d-7cfc-47c9-93f9-d54549d3052c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9e907c9d-7cfc-47c9-93f9-d54549d3052c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2022b152-0cf7-444c-b607-3f8f1da4f7b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-2022b152-0cf7-444c-b607-3f8f1da4f7b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-87632fb5-3c57-42a2-875a-a85164726b60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-87632fb5-3c57-42a2-875a-a85164726b60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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"}]}]}{0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00280_chassis_get_reader [0.343637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00286_chassis_chassis_id_get_reader [0.233957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.172786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.183678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00287_chassis_chassis_id_patch_admin [0.258763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00284_chassis_chassis_id_get_admin [0.356192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00219_drivers_vendor_passthru_post_admin [0.344212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.100847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.079219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.105600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.067452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.117142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.071662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.152370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.151082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.133011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.116663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.115837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.194289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.041669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00227_nodes_bios_get_admin [0.527529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.071062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.106954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.065806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.157047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.093111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.080346s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.078037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.087839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.066274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.108983s] ... 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-cc4f69a2-e0ee-4d95-8dbf-a1b1c3488dc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c384170c-72f8-4786-a4c0-cd4b3ef03ff5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-c384170c-72f8-4786-a4c0-cd4b3ef03ff5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a492bb3b-2cbb-47c2-ae19-dfb56ea68acf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.095909+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-a492bb3b-2cbb-47c2-ae19-dfb56ea68acf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.095909+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-4b146d62-22c9-41c5-8cd9-146f5fa2a613 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.286031+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-4b146d62-22c9-41c5-8cd9-146f5fa2a613 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.286031+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-7947c60e-fee3-4280-a78e-c726edb049e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.544588+00:00", "updated_at": "2023-10-12T03:28:47.651285+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-7947c60e-fee3-4280-a78e-c726edb049e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.544588+00:00", "updated_at": "2023-10-12T03:28:47.651285+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: 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-a512ebd9-9c11-461d-868b-d28dd1b6fc2f 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-b68cf1e9-baee-4c6f-97bc-4769676ac352 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"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-945c182e-0d0d-4947-924d-5f72c00b4834 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long Failed validating 'maxLength' in schema['properties']['four']\", \"debuginfo\": null}"}{3} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.100912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.093452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.116932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.069557s] ... ok 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-957989e4-45b3-4197-8b8e-177e6da8f93f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-957989e4-45b3-4197-8b8e-177e6da8f93f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fd63943b-85d1-40d5-8898-15412e6fbdb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-fd63943b-85d1-40d5-8898-15412e6fbdb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-8a1ff0b1-eae3-4eb8-94e1-5dda9eaab5fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8a1ff0b1-eae3-4eb8-94e1-5dda9eaab5fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9051180c-ab4b-4fc6-b890-c43605656f19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-9051180c-ab4b-4fc6-b890-c43605656f19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0d909f25-502e-4189-b71b-b2b5eaa46835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-0d909f25-502e-4189-b71b-b2b5eaa46835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dcce309b-fa1e-4420-a94d-bdcbe611c985 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dcce309b-fa1e-4420-a94d-bdcbe611c985 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-dd03f71a-9bc4-4eac-8c76-3f51e9e05142 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:28:47.973224+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-dd03f71a-9bc4-4eac-8c76-3f51e9e05142 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"bios": [{"created_at": "2023-10-12T03:28:47.973224+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-4f97bb54-2f59-4b94-9732-10c2bf4ea8eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:28:48.377285+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_00232_nodes_bios_bios_setting_get_reader [0.308167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.111965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.158534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.106589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.100538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.121526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00234_conductors_get_member [0.353380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.083453s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create 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:1065: UserWarning: Policy baremetal:node:create 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:1065: UserWarning: Policy baremetal:node:list_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:1065: UserWarning: Policy baremetal:node:list_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:1065: UserWarning: Policy baremetal:driver:get_properties 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:1065: UserWarning: Policy baremetal:driver:get_raid_logical_disk_properties 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:1065: UserWarning: Policy baremetal:driver:vendor_passthru 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:1065: UserWarning: Policy baremetal:conductor:get 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:1065: UserWarning: Policy baremetal:deploy_template:get 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:1065: UserWarning: Policy baremetal:deploy_template:get 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:1065: UserWarning: Policy baremetal:deploy_template:get 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:1065: UserWarning: Policy baremetal:deploy_template:update 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:1065: UserWarning: Policy baremetal:deploy_template:delete 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:1065: UserWarning: Policy baremetal:deploy_template:delete 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:1065: UserWarning: Policy baremetal:chassis:create 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:delete 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:1065: UserWarning: Policy baremetal:chassis:delete 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:1065: UserWarning: Policy baremetal:allocation:create_pre_rbac 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: {3} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.073617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.183922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.032822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.038965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.071777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.066777s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00235_conductors_get_reader [0.261364s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.046271s] ... ok 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: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.045944s] ... 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: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.080703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.527597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.274196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00236_conductors_hostname_get_admin [0.203599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.045294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000230s] ... 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: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.102744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.080731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.096823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.047657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.088227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.035303s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.050225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.040726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.051120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.047436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.066058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.051401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.029700s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.054094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.026265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00248_allocations_allocation_id_patch_admin [0.351399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.093347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.083966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.174086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.027886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.070400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.070600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.080308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.037192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.077667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.150036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00249_allocations_allocation_id_patch_member [0.316542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.113511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.138843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.103046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.102166s] ... 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-4f97bb54-2f59-4b94-9732-10c2bf4ea8eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2023-10-12T03:28:48.377285+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 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-8085587c-a68e-4f94-bf51-1891aa1fcf55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-8085587c-a68e-4f94-bf51-1891aa1fcf55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ca868edd-121b-4008-961f-fb90b4436df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-ca868edd-121b-4008-961f-fb90b4436df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7db32bd6-8a9a-4c43-856f-d813064a2108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:28:49.224959+00:00", "updated_at": "2023-10-12T03:28:49.226302+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-7db32bd6-8a9a-4c43-856f-d813064a2108 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"created_at": "2023-10-12T03:28:49.224959+00:00", "updated_at": "2023-10-12T03:28:49.226302+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 patch /v1/allocations/ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387 DEBUG util.py:445: PATCH: /v1/allocations/ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387 [{'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-0eca2cff-eaf8-487f-af29-44029a417a50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387", "created_at": "2023-10-12T03:28:49.452343+00:00", "updated_at": "2023-10-12T03:28:49.667616+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/ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387", "rel": "self"}, {"href": "http://localhost/allocations/ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387", "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-0eca2cff-eaf8-487f-af29-44029a417a50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387", "created_at": "2023-10-12T03:28:49.452343+00:00", "updated_at": "2023-10-12T03:28:49.667616+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/ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387", "rel": "self"}, {"href": "http://localhost/allocations/ee9bdd6a-fcaf-4483-82c7-bb6cfbd89387", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/2f998b75-d633-4f0d-b4d3-23cbdc5047b3 DEBUG util.py:445: PATCH: /v1/allocations/2f998b75-d633-4f0d-b4d3-23cbdc5047b3 [{'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-093aed56-e34c-4288-8edc-3122346fa547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "2f998b75-d633-4f0d-b4d3-23cbdc5047b3", "created_at": "2023-10-12T03:28:49.869900+00:00", "updated_at": "2023-10-12T03:28:49.982131+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/2f998b75-d633-4f0d-b4d3-23cbdc5047b3", "rel": "self"}, {"href": "http://localhost/allocations/2f998b75-d633-4f0d-b4d3-23cbdc5047b3", "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-093aed56-e34c-4288-8edc-3122346fa547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "2f998b75-d633-4f0d-b4d3-23cbdc5047b3", "created_at": "2023-10-12T03:28:49.869900+00:00", "updated_at": "2023-10-12T03:28:49.982131+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/2f998b75-d633-4f0d-b4d3-23cbdc5047b3", "rel": "self"}, {"href": "http://localhost/allocations/2f998b75-d633-4f0d-b4d3-23cbdc5047b3", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/ff695e32-0717-42c3-a0b6-a716772ffb0e DEBUG util.py:445: DELETE: /v1/allocations/ff695e32-0717-42c3-a0b6-a716772ffb0e DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51fec1f8-887f-4b0c-9a3f-b20594498a57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00253_allocations_allocation_id_delete_reader [0.079540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.107977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.098875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.194613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.110873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.106041s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00254_nodes_allocation_get_admin [0.231383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.040895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.153559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.072021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.080678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00261_deploy_templates_post_member [0.104014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.124075s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.143846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.130646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.079871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.083447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00266_deploy_templates_deploy_template_id_get_admin [0.241007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.074869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.128791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.270136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_service_token [0.026861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.061370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.038717s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.039817s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00267_deploy_templates_deploy_template_id_get_member [0.222604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.128896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.082995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.056222s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.280333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00268_deploy_templates_deploy_template_id_get_reader [0.090924s] ... 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-51fec1f8-887f-4b0c-9a3f-b20594498a57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-cfdc5d63-eb01-43a8-8f7d-cd056c567ac2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "88701026-ea03-4130-a8c2-19f1cd5dd44b", "created_at": "2023-10-12T03:28:50.265173+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/88701026-ea03-4130-a8c2-19f1cd5dd44b", "rel": "self"}, {"href": "http://localhost/allocations/88701026-ea03-4130-a8c2-19f1cd5dd44b", "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-cfdc5d63-eb01-43a8-8f7d-cd056c567ac2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "88701026-ea03-4130-a8c2-19f1cd5dd44b", "created_at": "2023-10-12T03:28:50.265173+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/88701026-ea03-4130-a8c2-19f1cd5dd44b", "rel": "self"}, {"href": "http://localhost/allocations/88701026-ea03-4130-a8c2-19f1cd5dd44b", "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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e4a0737b-a711-47bc-8fe3-b0f71fcff1a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-e4a0737b-a711-47bc-8fe3-b0f71fcff1a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6 DEBUG util.py:445: GET: /v1/deploy_templates/66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a464ad1d-ee4c-4a14-b7f4-e6ddf3569ecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6", "created_at": "2023-10-12T03:28:50.562361+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6", "rel": "self"}, {"href": "http://localhost/deploy_templates/66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6", "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-a464ad1d-ee4c-4a14-b7f4-e6ddf3569ecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6", "created_at": "2023-10-12T03:28:50.562361+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6", "rel": "self"}, {"href": "http://localhost/deploy_templates/66ad0bbc-9ffd-4d92-b570-9fc9a6d1aae6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a DEBUG util.py:445: GET: /v1/deploy_templates/c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-226370fb-78a9-47d8-a4d2-e31efea5c6c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a", "created_at": "2023-10-12T03:28:50.781413+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a", "rel": "self"}, {"href": "http://localhost/deploy_templates/c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a", "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-226370fb-78a9-47d8-a4d2-e31efea5c6c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a", "created_at": "2023-10-12T03:28:50.781413+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a", "rel": "self"}, {"href": "http://localhost/deploy_templates/c0f51147-d5f8-4e1f-bcfc-b8bf6f9fbf2a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/edfa7a97-b03f-464e-aafe-308acd56f107 DEBUG util.py:445: GET: /v1/deploy_templates/edfa7a97-b03f-464e-aafe-308acd56f107 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-13605fe7-a8c8-4e1c-9141-798610f0d9d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "edfa7a97-b03f-464e-aafe-308acd56f107", "created_at": "2023-10-12T03:28:50.950507+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/edfa7a97-b03f-464e-aafe-308acd56f107", "rel": "self"}, {"href": "http://localhost/deploy_templates/edfa7a97-b03f-464e-aafe-308acd56f107", "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-13605fe7-a8c8-4e1c-9141-798610f0d9d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "edfa7a97-b03f-464e-aafe-308acd56f107", "created_at": "2023-10-12T03:28:50.950507+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/edfa7a97-b03f-464e-aafe-308acd56f107", "rel": "self"}, {"href": "http://localhost/deploy_templates/edfa7a97-b03f-464e-aafe-308acd56f107", "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/4a368008-0fda-4261-80e2-bd857e1fc6fe DEBUG util.py:445: PATCH: /v1/deploy_templates/4a368008-0fda-4261-80e2-bd857e1fc6fe [{'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-8d483857-a385-40dc-bc45-4a362cebe6a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00270_deploy_templates_deploy_template_id_patch_member [0.076593s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.100373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.107421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00271_deploy_templates_deploy_template_id_patch_reader [0.072712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.113835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00274_deploy_templates_deploy_template_id_delete_reader [0.102071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.263972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.226544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.115102s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00281_chassis_detail_get_admin [0.101379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.081934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00282_chassis_detail_get_member [0.067106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.102742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.088221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.202643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00290_chassis_chassis_id_delete_admin [0.078030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.083343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.037098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.069586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.061525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.064388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.070679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.057859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.067524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.236100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.052082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.149502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.094847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.061436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.098586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.146771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.122490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.143371s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.076671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.069900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.068257s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.099423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.104548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.035984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.116704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.098098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.082494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.043708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.103980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.148261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.129877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.095681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.108376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.105891s] ... 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-8d483857-a385-40dc-bc45-4a362cebe6a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/8779c812-296b-499a-a614-c9d9345c612e DEBUG util.py:445: PATCH: /v1/deploy_templates/8779c812-296b-499a-a614-c9d9345c612e [{'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-f1db0cde-ed8b-48ec-89c3-a1258b4d4780 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-f1db0cde-ed8b-48ec-89c3-a1258b4d4780 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/7521d51a-ac46-4d9b-b184-b5cfc53bc78b DEBUG util.py:445: DELETE: /v1/deploy_templates/7521d51a-ac46-4d9b-b184-b5cfc53bc78b DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10bb374e-ee22-4482-a051-b95b4fe415de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-10bb374e-ee22-4482-a051-b95b4fe415de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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/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-60a99f5b-b0d5-4dd5-8abc-5aa124499b86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:51.303756+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-60a99f5b-b0d5-4dd5-8abc-5aa124499b86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:51.303756+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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed8bbacc-f928-432f-b555-3aba0376079f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:51.373835+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-ed8bbacc-f928-432f-b555-3aba0376079f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:51.373835+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: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-4a72f8b0-f06f-425c-aa5e-efd218fa4d42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-4a72f8b0-f06f-425c-aa5e-efd218fa4d42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 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-706e10c1-f5b0-451d-b7f2-befc7da844c8 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-aef0e7f1-fa17-473c-bac4-95b4d2d3fedf 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-a98c16bf-ce34-4d31-8466-66632682e4e6 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-478caa01-ec54-4160-a0ac-2f11ebcd77c6 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-17.1.1.dev10/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-17.1.1.dev10/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\"}"}{1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.086613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.093138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.028564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.110291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.050351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.064213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.037568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.209687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.159375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.078973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.094009s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.064752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.096438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.064034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.033743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.057128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.095237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.020914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.168817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.016877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.133894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.017240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.039764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.015016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.091715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.044421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.154903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.041090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.133771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.085262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.079105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.173334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.113280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.082294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.123812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.051012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.105308s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.050186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.055599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.129161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.059606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.112176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.087575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.077084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.094449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.132994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.053961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.068402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.166600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.050722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.096439s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.057092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.068637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.068258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.064436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.061314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.069464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.186000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.059791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.067320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.062582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.064472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.068262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.051603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.038196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.122707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.062691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.038358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.154420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.062832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.080612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.032601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.171813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.135130s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.248712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.103744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.194694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.058264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.051787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.130001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.435739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.161748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.332526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.163902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.435263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.037879s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.154025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.049198s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.314971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.048491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.450454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.105299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.103259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.089976s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.071596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.064851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.045492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.073136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.061926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.031388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.126719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.072779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.085618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.101128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.128264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.058697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.087343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.119771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.132013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.090418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.043318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.172211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.031683s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.082128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.037378s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.053556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.050555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.053916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.132621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.065378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.024446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.023796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.022401s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.143469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.025464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.031380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.195814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.031063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.023034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.101560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.030723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.021414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.019597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.028121s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.017327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.017759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.019368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.185604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.158890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.073702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.150075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.051519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.149811s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.053285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.038878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.266227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.071713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.096898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.132090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.046457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.108442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.048061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.046371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.045561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.048494s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.181330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [1.381649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.117084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.065136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.044250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.047683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.044574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.053681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.018981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.017735s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.049946s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.020181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.018750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.104820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.021360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.019213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.070518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.084255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.077126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.084117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.018335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.086627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.020046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.018268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.082670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.052873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.055359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.043158s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.069254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.026223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.131591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.091516s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.047619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.134231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.055632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.079927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.052079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.104706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.067433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.078122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.064680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.025091s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.048907s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [1.268855s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.058607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.046696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_esp_imageimg [0.039702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.047988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_existing_iso [0.042665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [1.250656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.039367s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.037443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.039030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.044104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.032609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.015700s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.040057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.053934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.103650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.040095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.088037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.089304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.107153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.052575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.039066s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [1.232261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.039158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [1.048827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.025661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.061647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.239689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.060036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.090520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.054113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.061300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.089011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.061336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.257772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.077522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.181656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.184756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.206798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.199474s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.156547s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.037494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.139809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.059553s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.082124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.043444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.046240s] ... 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.040120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.236608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.027111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.025845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.025905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.021084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.018378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.114087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.025815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.023375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.032129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.027385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.028020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.025833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.168265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.028344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.024756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.025158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.030443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.680767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.085547s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.081593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.124294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.057292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.023584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.189916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.095614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.039024s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.064213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.089156s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.026325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.100317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.036876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.047025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.024573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.023848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.028041s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.142216s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.036256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.037206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.071622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.077404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.066481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.031855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.094555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.042017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.046684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.099551s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.063053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.045600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.089307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.030279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.041721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.051665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.028356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.025369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.073899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.026779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.065360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.085585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.088573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.069513s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.074895s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.072042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.042124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.247736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.069375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.026662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.048629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.064437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.025297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.084290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.083720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.126742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.127997s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.028583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.019120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.162830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.084059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.128331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.038338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.075553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.127427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.056389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.034606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.031701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.019659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.106916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.035435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.068835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.039350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.042981s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.074599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.030642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.026927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.040335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.068230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.035658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.077748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.068397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.048230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.039133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.112119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.055903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.061956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.034770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.086013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.066877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.022421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.031562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.096204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.017119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.037858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.039734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.023456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.116642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.040128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.035914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.035780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.118489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.030683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.040771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.105247s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.087862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.160754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.091563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.165011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.114511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.074797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.076843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.090746s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.090685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.024063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.133414s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.069405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.074767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.084343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.076035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.045103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.074497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.034321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.031484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.031316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.038434s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.031270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.041798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.017725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.036639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.029046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.029244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.028934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.062301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.059164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.059978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.063281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.061615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.041208s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.031772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.035161s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.018534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.030608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.039239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.026151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.017460s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.030143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.029443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.030517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.029287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.033650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.024492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.018856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.039204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.066931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.069098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.024926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [2.153643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.055541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.071726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.031751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.121873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.031993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.076940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.108665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.320229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.115642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.038795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.086441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort [0.047689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.090158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.080807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.068385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.102252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.070657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.059293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.105218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.063050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.072232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [2.137257s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.139056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.128207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.138140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.247519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.232775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.105603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.181040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.145979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.186897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.113255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.108373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.083896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.220593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.309261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.145905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.452911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.075134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.046668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.140835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.159285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.139414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.279304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.182151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.274350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.192290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.096022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.239167s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.124564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.190739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.322652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.206176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.256131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.416065s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.197343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.197207s] ... 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.401475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.148857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.154919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.122077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.140749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.199380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.062195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.128526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.083128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict_with_meta_data [0.250059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.113260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.176430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_network_data [0.383145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.158493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.110730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.095323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.103194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.296362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.357401s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.338265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.315769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.369776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.098762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.205059s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.114228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.187591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.212384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.104512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.153235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.148396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.305828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict [0.661676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.169807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.224588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_vendor_data [0.338968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.195839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.103173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.097064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.049688s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.410118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.054369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.111906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.102892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.108952s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.384914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.155515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.156488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.371243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.166569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.128211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.270326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.127221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.090223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.067798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.332113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.137079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.263176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.142371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.145576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.270789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.101184s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.116714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.093834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [20.120936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.042644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.134817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.078911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.067036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.340634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.071741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.041773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.063361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.059581s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.343151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.092981s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.107160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.323742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.047528s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.078555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.129326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.059969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.061639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.112786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.036489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.287292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.083887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.160859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.109824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.105535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.141151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.063948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.046578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.128872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.041197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.091291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.182766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.103223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.111312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.749127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.180944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.458977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.119706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.080205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.473652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.193293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.099816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.063284s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.298145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.060995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.273949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.100154s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.125691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.218267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.352576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.082603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.101740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.138013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.048048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.038646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.048987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_cache_bios [0.298925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.045166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.215729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.104763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.197636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.124312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.100048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [20.105721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.108654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.178404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.105053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.103354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.151287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.437672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.100644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.144241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.097187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.133401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.069885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.081126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.133127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.098365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.121775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.023961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.023967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.026564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.118137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.025160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.025798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.471016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.024576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.258567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.233179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.349907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.188322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.050203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.126809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.023979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.023873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.031451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.306343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.037852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.040641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.045071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.044916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.151995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.017177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.244999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.018213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.033405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.189556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.020247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.020300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.308019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.062327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.018197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.017919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.017724s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.053918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.162477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.019430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.019535s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_good [0.018932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_recovers [0.020950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.530204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.064083s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.152915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.032216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.032910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.033086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.107985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.112406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.097723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.058148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.410197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.138550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.086934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.052580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.063484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.100100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.081337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.103223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.281873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.089714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.094897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.234635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.255980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.300885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.033727s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.046507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.097140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.154615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.022250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.023338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.078231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.092802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.072070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.160251s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.065444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.080924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.143574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.141284s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.069355s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.077242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.125406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.022876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.024128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.023060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.186648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.141813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.371776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.085032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.107069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.044112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.044088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.109306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.157165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.158102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.407044s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.298351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.277636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.287517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.344610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.332213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.462104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.219214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.869631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.085800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.183684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.151450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.303138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.022152s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.055392s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.230918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.071177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.165690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.087613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.276546s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.185948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.219926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.100529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.163512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.072989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.185086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.191586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.131800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.116192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.637251s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.228213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.043510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.140744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.224265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.136622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.294134s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.648438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.077486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.087995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.321875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.149896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.076105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.098243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.083295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.091148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.106560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.548724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.102542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.117106s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.216772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.106776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.201166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.309958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.086212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.964019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.218075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.091479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.103923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.092968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.087966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.052633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.085286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.035725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.102226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.046766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.155530s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.037085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.116618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.036992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.055412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.091416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.107660s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.077277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.040297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.052671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.049613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.043921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.085877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.036717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.081986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.022179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.021726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.020538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.020916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.041400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.165213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.034267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.188293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.126325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.121123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.085363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.170383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.111045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.066863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.091701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.091314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.043449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.086435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.040108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.042149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.097751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.038751s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.080945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.046813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.041595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.042913s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.031909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.097890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.031230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.039480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.105311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.049335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.062380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.039262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.165232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.095101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.041809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.017425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.039688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.095610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.037224s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.139877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.037480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.038540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.094745s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.039873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.046262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.108559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.047217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.233154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.037671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.093978s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.038852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.089816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.040098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.036336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.083980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.030527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.029019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.085484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.124631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.040453s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.039397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.086989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.033370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.100335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.066631s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.061282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.039842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.106611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.024433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.080866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.033362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.022254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.017462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.035378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.122427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.033587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.120034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.033194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.034190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.102230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.036969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.046000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.043571s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.043262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.046491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.229863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.040224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.064148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.033471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.044225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.115793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.038859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.114505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.055094s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.037105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.097469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.057176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.080269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.058322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.065459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.092950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.039828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.037085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.054529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.062643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.032097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.098319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.044169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.065939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.121380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.067336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.021218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.021555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.023359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.126920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.020436s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.033543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.033232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.041709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.038781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.040265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.040766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.039490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.346452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.087076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.058587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [1.125921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.104397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.098140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.064259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.077137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.062793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.234380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.086624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.040197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.039897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.024008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.024729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.151444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.034144s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.030087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.028787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.032501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.133069s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.065449s] ... 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.044959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.094056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.046926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.435788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.050289s] ... 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.069239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.157957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.113843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.095613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.123166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.094596s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.094404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.104046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.108463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.039514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.041362s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.022791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.098729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.022101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.106141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.023220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.025633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.074015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.059843s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:list_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:1065: UserWarning: Policy baremetal:driver:get 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:1065: UserWarning: Policy baremetal:driver:get_raid_logical_disk_properties 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:1065: UserWarning: Policy baremetal:driver:vendor_passthru 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:1065: UserWarning: Policy baremetal:deploy_template:create 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:1065: UserWarning: Policy baremetal:deploy_template:get 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:1065: UserWarning: Policy baremetal:deploy_template:delete 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:1065: UserWarning: Policy baremetal:chassis:create 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:update 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:1065: UserWarning: Policy baremetal:chassis:update 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:1065: UserWarning: Policy baremetal:allocation:create_pre_rbac 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: /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: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.069012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.034609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.039091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.027138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.022903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.038591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.023855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.022801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.058223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.024466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.022141s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.034732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.021991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.022238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.044286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.022762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.020261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.026554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.022611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.027417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.022640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.022726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.061652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.120480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.151817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.069971s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.097285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.055851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.078082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.046017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.064933s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.035323s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.090138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.034239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.041914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.036927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.031019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.040328s] ... ok DEBUG util.py:445: {3} 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: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.040182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.052498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.034682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.030230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.038845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.041894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.047497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.097871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.046478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.062219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.052019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.098989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.062165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.037524s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.046219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.063813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.106156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.046640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.066754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.055318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.087266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.100863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.069369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.104862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.075749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.148132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.046439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.023171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.056672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.079974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.056549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.057237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.073366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.048013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.072998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.084848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_empty_db [0.097347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.039826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.056219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.055698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.105416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migrate_by_2 [0.143215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.019784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.057132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.020285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.019207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.040122s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.018914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.018559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.038148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible [0.105885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.044955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.039538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.047098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.055208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.032478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.137826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.056646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.041726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.044346s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.154206s] ... 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.088836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.048837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.042842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.321090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.044691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.206304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.032271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.044311s] ... 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: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.046767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.020329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.038455s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.027053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.276248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.069105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.042947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.035078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.027030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.033690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.035885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.027334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.037124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.021832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.023462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.037216s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.024489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.030326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.021853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.218521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.024726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.021064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.023492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.024882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.120280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.131165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.055492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_force_migration [0.081096s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.047075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.074808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.053609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.052764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.083575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.168247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.050359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.055258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.106850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.075400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.319794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.091331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.051577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.072895s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.312158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.043446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.113218s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.274040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.081286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.089495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.072040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.063880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.102201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.034856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.047755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.073558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.098811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.055089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.071403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.049740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.082520s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.094138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.080441s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.537944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.043051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.069378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.090995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.137488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.059659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.135864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.121003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.139292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.067958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.145827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.057632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.023133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.136214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.037319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.035901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.024887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.113701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.032727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.160302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.163783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.143207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.129182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.316030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.082559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.084261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.036258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.124151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.078849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.322590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.106408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.076645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.055580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.145802s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.049361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.103098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.056260s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.122713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.076711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.056817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.065413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.079931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.108383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.146796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.059152s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.076376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.050589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.107462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.089573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.041415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.085582s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.047876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.049404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.104984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.068946s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.089953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.372841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.173739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.069534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.063956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.038694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.048171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [20.135941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.069401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.266981s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.101642s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.038211s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.114269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.068771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.397447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.108880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.077142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.086703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.058147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.042007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.055183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.050987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.049136s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.065672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.127037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.070103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.069110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.050310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.061193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.046853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.071755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.021710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.051812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.114665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.030872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.073438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.045038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.036526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.100424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.051488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.043094s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.062652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.075929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.085793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.033746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.110776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.041527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.050354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.054887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.094456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.053557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.119155s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.054617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.032977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.086476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.049446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.165852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.037741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.085665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.029426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.030993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.027964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.132595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.076037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.031001s] ... 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.026037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.049200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.027934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.025778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.126700s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.026681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.084590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.035304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.055978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.037507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.035979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.058395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.155839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.041370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.036748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.035898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.095361s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.036396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.062010s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.030431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.158270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.041471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.087085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.046724s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.045203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.037584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.029413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.161022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.041750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.044708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.154280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.043283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.136796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.099331s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.083718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.123471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.065081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.114587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.077597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.106536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.079508s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.093715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.124377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.158539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.092384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.041274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.108174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.089581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.153427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.035280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.148298s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.099479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.130955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.103236s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.099644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.081925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.074875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.102833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.108157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.078918s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.058642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.110803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.052123s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.080633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.071467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.097443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.054454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.047325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.063937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.066534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.081246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.043995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.085712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.091187s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.122178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.089480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.100747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.109437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.075159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.112058s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.142713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.044064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.101773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.041559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.078631s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.060529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.042920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.023798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.159625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.022547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.043940s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.041175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.042247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.091507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.038501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.059095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.041562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.029305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.067230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.054821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.140139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.052937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.047281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.035866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.068894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.127495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.044630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.047886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.031459s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.069085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.032120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.021715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.020253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.105601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.063862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.052235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.059151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.021320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.020357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.107973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.040819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.033611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.031369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.068075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.031016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.018720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.020399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.119739s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.077686s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.036746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.033410s] ... 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.058997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.047056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.128973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.044059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.053697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.108625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.118319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.063488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.049672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.073989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.070627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.151525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.073386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.039342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.100252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.079642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.024801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.027230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.026498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.025991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.081015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.038158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.120799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.082245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.056855s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.084882s] ... 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.052076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.083422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.046609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.085688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.066248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.046886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.051618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.117721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.107924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.129972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.079590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.031942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.444711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.056287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.108196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.117668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.047776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.067186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.062694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.048610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.058201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.067653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.056148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.110365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.100501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.321959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.112686s] ... 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.113379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.150228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.079073s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.078219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.065833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.149261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.092485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.059424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.099049s] ... 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.137010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.069281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.051573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.079951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.027004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.018635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.047115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.074586s] ... 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.323331s] ... 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.070773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.065842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.048082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.087943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.064548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.038001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.026942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.074344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.047527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.028651s] ... ok DEBUG util.py:445: {0} 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: {0} 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.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.044548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.018470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.023393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.025036s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.025107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.024288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.023828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.025423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.113758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.035072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_already_direct_exists [0.048683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.086905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible2 [0.033138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible3 [0.026129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.081396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.033276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.034430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.118545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.026304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.025214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.026791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.024879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.116429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.029266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.043224s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.029707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.040713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.070673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.046907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.038623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.073190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.049442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.073823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.076669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.036370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.045159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.033625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.099222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.082758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.047847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.065282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.103415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.060845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.027057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.051853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.074884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.035306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.033583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.036873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.115191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.035339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.048881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.025539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.025951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.042477s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.025786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.091937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.025213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.026794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.061600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.083613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.050796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.063192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.046473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.059139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.040074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.044656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.046610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.051245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.163662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.070209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.049254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.069166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.058531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.052861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.064919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.049094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.094500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.049024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.025028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.028010s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.127469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.036457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.020076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.146823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.062153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.031639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.058929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.079035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.060029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.162898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.095881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.086879s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.144212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.073891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.123664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.064530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.051654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.048214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.082209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.149440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.053495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.098767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.030165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.023681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.069870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.034863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.030833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.048610s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.024343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.037677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.027292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.027041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.023269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.023864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.099426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.024835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.040243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.088736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.033801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.031089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.065168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.047629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.049265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.035684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.096581s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [10.099540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.064571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.076010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.025807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.034738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.050642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.065644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.047514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.058319s] ... 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.035456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.026786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.024387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.046883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.023594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.026736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.024870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.072411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.024784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.027193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.026038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.026395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.110022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.027127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.038803s] ... 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.081257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.025770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.027027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.024204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.046761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.108755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.044608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.048206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.114810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.063145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.181311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.088744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.052141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.084045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.053203s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.042336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.071225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.048904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.024666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.077071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.051393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.061343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.043591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.043327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.088649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.051984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.023977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.068097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.023371s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.048740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.053189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.026147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.025765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.047285s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_iwdi [0.052950s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.043234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.042309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.061409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.044294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.036589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.075957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.036248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.041769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.083139s] ... 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.057002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.068979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.098132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.077909s] ... 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.044805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.195479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.048054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.074226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.034468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_glance [0.046705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.128589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver [0.062072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.084873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.103539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.106209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.111379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.055977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.096819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy_attribute_error [0.084663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.042383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.043238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.093031s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.047195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.022761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.100660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.091075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.089589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.084227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.041054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.077882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.043524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.024869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.059980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.049295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.047990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.041866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.052948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.044296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.059947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.042724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.043170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.092339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.045361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.030380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.038256s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.095244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.032528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.026111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.077899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.096017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.054313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.046650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.024767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.025885s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.046914s] ... 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.030505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.087660s] ... 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.026005s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.043647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.055959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.029856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.039356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.037586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.025488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.046927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.091187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.044098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.057996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.046577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.036657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.054312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.041561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.051387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.071907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.134471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.043183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.065075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.055033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.097853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.060527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.091977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.070955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.064231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.028652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.029762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.077734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.030593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.125902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.017897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.017558s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.066871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.025740s] ... 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.038988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.026327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.074740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.023883s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.023999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.109619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.048265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.086360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.044643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.087924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.045135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.134727s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.055276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.108219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.063527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.072345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.039975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.038906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.023939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.038309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.024869s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.035336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.023370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.092437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.036631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.058178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.038320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.090158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.032858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.105765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.049638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.106172s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.048679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.095420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.080682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.090784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.109335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.086979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.083262s] ... 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_deploy [0.412267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.094464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.047509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.099771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.055481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.119837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_image_local [0.104984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.084247s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.069591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.100198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.109139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.097456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.149505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.092694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.062785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.078877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.078889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.181415s] ... 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.098508s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.051523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.042707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.078749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.059073s] ... 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.074542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.053547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.057194s] ... 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.098502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.079465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.088444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.077736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.086720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.063189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.065880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.046260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.061513s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.055904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.027812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.053650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.052714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.030210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.026697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.026345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.025282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.040904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.043250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.024846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.039731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.039586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.047159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.022135s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.022563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.023317s] ... 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.021545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.021468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.022271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.022411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.021483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.039850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.017598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.027132s] ... 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.016804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.016125s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.052273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.040089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.047503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.069371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.048387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.022077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.022407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.051758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.045178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.056404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.060767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.039929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.055059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.026238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.048173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.043681s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.046669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.045092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [2.574282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.043407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.043070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.057457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.049826s] ... 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.062827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.046660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.058418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.045525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.034489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.034351s] ... 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.056431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.036342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.044153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.033210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.045385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.043503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.045041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.025926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.026943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.027623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.027658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.025717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.038937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.037676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.077226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.097817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.095038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.094539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.035034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.029217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.034009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.031211s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.045485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.054503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.060109s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.057707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.059986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.026137s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.025696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.032100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.101862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.049899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.052421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.193071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.076862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.042456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.045878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.130688s] ... 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.059112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.059177s] ... 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.059563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.042439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.036844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.044173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.045464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.055191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.056520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.049890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.051009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.051576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.045578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_neither_iwdi_nor_glance [0.051873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_not_iwdi [0.054674s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.048394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_whole_disk_image [0.054695s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.070661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.052814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.046580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.055763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.224115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.081067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.062497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.076896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.069695s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.057861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.046094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.067590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.063377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.058677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.040225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.032843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.025046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.028876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.053431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.028747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.027913s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.026094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.046442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.044576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.050080s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.051971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.060562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.026706s] ... 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.036735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.030247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.036273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.023501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.040579s] ... 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.018443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.048780s] ... 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_file_if_no_upload [0.030452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.030184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.044999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.047318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.017818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.031449s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.024924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.023130s] ... 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_invalid_component [0.028769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.027577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.092485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.073419s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.070658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.036783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.024630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.023378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.034503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.069193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.038910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.058119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.044251s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.055879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.045861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.062917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.051687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.042833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.056653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.056873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.049286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.058061s] ... 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.055013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.329948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.052162s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.047810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.051806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.113128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.076380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.077062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.061190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.075765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.105243s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.078998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.087173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.075528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.120215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.365326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.059041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.073488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.124578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.063196s] ... 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.095215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.059975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.050855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.043604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.100550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.054469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.095788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.068616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.066755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.071385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.098618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.069589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.080830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.080399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.049388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.070097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.036123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.063040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.060043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.037022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.030070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.028877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.046827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.026236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.029745s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.044624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.024926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.045769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.043977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.035664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.053286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.048843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.045466s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.053608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.037359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.073754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.063107s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.051428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.048367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.068999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.081504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.037770s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.044643s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.040733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.058376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.058205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.066088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.069493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.051090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.049194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.053913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.136362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.034653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.090708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.074299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.152846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.067096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.050058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.094899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.077977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.169320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.114055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.163939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.152442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.111004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.122417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.164339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.179639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.143011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.107282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.121181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.091253s] ... 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.101049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.136457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_http [0.489513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_http [0.031048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.087699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.080470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.211009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.076781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.111588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.110416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_ignoring_snmp_security [0.088993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.052218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.182668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.141226s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.079804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.055593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.079548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.162713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.086167s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.128608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.064742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.107402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.100302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_not_support_auth [0.112841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.152951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.068888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.147628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.079422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.048540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.110662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.051343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.089643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.057020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.118535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.044380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.082403s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.129858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.110273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.167462s] ... 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.068132s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.052402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.118533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.158393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.316417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.065466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.111278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.114127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.148920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.082852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.059869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.136262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.109936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.165264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.292555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [20.054876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.203704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.032097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.176856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.149864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.042279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.027484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.023659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.022062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.155322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.036685s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.027496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.031424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.186343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.210568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.033968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.032476s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.036218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.025802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.218293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.031513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.043977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.184358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.054671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.243970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.024912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.028056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.113008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.024693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.217627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.059162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.095171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.024672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.026943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.199738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.025058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.026436s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.026485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.041998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.227349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.127847s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.043134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.052501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.026495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.225585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.043481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.044150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.044751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.032874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.089420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.022519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.205687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.022176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.184914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.048479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.090092s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.068766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.148481s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.053802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.232220s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.055291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.112047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.051503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_has_stage2_id [0.162201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.055118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.115142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.039751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.158386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.049604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.026158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.022591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.020116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.152317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.140828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.018780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.019223s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.018330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.019032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.201451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.019093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.016448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.015912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.134063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.017112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.028223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.165161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.033868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.103294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.089101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.105055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.261054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.167011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.071586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.026349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.076553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.141302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.135911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.051838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.062946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.205053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.071873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.023326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.109730s] ... 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.032211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.187567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.030882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.016788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.028809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.028976s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.024682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.159183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.146003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.026045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent [0.024677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_warning_only [0.027659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.027747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.056779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.107931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.599261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.327447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.364857s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.171890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.093862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.085009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.089659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.050381s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.173828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.177778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.201805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.077901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.064263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.219389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.059784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.174350s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.045031s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.047296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.023474s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.202802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.057167s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.073495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.017729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.188185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.128440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.115339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.093431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.047653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.045706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.064670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.259188s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.061377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.262973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.202758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.051667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.059701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.148916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.216631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.097524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.147350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.209351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.355315s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.125798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.299587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.130876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.164552s] ... 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.090620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.095679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.068240s] ... 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.113119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.345269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.085594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.102352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.102481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.388468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.129332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_with_step_name [0.062615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.154072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.105633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.139759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.129627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.068155s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.174937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.082798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.091859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.084310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.174531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.121656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_http [0.076099s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.100859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.134095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_https [0.110248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.262185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.133192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.058926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.141982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.060847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.070616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.038341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.106915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.039610s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.052384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.041691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.050508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.040242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.168484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.127391s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.056383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.045570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.084757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.029721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.065627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.121509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.078940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.043948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.061159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.043266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.226571s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.069570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.072435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.081682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.029826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.029017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.164344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.142181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.043307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.036292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.044871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.038085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.129128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.043091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.147258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.235878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.100817s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.137782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.191749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.113829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.103496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.115495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.078585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.109217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.142150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.127347s] ... 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.078853s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.111991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.091116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.081199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.137776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.156061s] ... 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.108847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.076966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.091518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_and_user_data_as_dict [0.208392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.133309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.077444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.105307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.151643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.143679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.113742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.312796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.105448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.120527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.123354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.173528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.424471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.149697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.141287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.171117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.137636s] ... 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.110142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.284639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.184735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.073167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.083541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.066628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.161244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.154422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.065469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.553931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.085900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.155008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.143409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.052653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.073774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.040725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.174721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.061714s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.063167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.044915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.369272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.069301s] ... 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.102003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.053376s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.068408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.238347s] ... 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.104074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.094042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.076505s] ... 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.554636s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.083164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.173805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.096486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.062251s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.116938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.084769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.175054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.184647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.106392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.246286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.153451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.111246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.061629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.057565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.058379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.223162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.056752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.101212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.050169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.095425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.123868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.097587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.054100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.077820s] ... 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.084499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.093141s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.158065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.219298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.071425s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.132234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.064395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.091694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.068947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.062860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.079457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.123899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.112457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.081785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.081539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.076404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.074555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.068174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.127379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.068477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.129947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.113234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.058248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.060923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.107274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.056423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.258771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.053565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.118858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.287559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.085752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.067941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.110252s] ... 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.227885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.092513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.096966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.248380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.077707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.100589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.078736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.111595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.088062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.169110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.305876s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.070494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.081728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.066091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.078539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.047150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.076734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.087606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.260492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.251837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.095050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.095171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.111705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.075327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.102842s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.250123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.057316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.146372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.223505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.061365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.068864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.048325s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.191408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.081571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.168665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.036127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.063420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.171493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.114350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.177351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.089249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.055367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.039195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.054395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.060186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.055585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.151415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.073708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.068561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.058211s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.050922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.115240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.059606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.072960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.052553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.044385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.042060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.081731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.175911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.512987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.091366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.052631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.103165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.130518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.051601s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.084977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.034129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.217023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.065299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.114637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.071574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.224733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.200415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.081557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.144665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.050805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.041816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.055662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.143544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.237781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.193875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.079813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.142763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.168021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.117876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.127613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.222706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.099956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.185450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.105280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.063227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.103334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.171961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.130556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.135826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.190930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.126514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.091343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_notfound [0.049414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.320708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.119011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_not_redfish [0.049009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.058100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.076435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.211164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.132528s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.059427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.076850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.074537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.091653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.063354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.170836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.140021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.058003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.064533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.118253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.124182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.073144s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.196668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.101031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.109711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.045083s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.102361s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.066200s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.123259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.067902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.344480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.122376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.106914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.157748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.367594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.047683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.234625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.052702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.067272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.031945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.157511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.258496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.035461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.511040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.050923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.060660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.067282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.054278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.209607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.163358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.046298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.045043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_session [0.049719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.097767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.161511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.082545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_disabled_sessions_cache [0.050766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_basic_session_caching [0.049489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.378179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_expire_old_sessions [0.064248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.108836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_multiple_systems [0.054465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.193849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.026241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.027158s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.085807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.053386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.031377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.026327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.028597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.051369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.154807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.034580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.027814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.055680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.114852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.048464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.422389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.071622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.116931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.056703s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.064432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.142288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.061711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.043265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.046262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.152709s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.386553s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.059133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.049694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.105853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.037278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.077299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.799193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.077394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.239300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.086179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.089393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.064394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.177064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.500239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.080312s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.033315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.065934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.229120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.079035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.236104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.119034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image_compat [0.104349s] ... 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.071639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.094925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.255974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.352527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.152600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.181914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.101459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.131570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.053199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.182122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.361872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.093352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.126899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.185311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.335812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.125645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.150977s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.084269s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.059921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.049311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.039367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.030731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.518389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.042220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.287694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.124498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.182680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.067641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.168093s] ... 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.114480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.054841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.051630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.119455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.052624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.181921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.063416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.067852s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.136182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.051389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.216494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.094660s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.240165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_old_command [0.106812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_running [0.045288s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.233323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.069496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.069309s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.152433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.302273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.116559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.169213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.134235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.152962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.030979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step_refresh [0.079154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.044472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.039200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.042603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.174532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.037860s] ... 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.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.147555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.057674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.036805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.078405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.037465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.213362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.074673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.044656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.024774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.025812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.074291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.026768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.024611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.056498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.056701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.189229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.057528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.053998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.084858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.072345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.082071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.041871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.067396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.025732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.031350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.271324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.031076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.116260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.025308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.034159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.022777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.105598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.074779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.049038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.315200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.063042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.264445s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.039450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.076128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.050533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.096256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.076424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.030491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.069382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.283317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_wait [0.053606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.040136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.102577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.035535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.058565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.058008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.094697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.035454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.237100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.094882s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.115222s] ... 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.041968s] ... 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_secure_boot [0.040754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.130377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.026447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.202886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.051574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.066471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.067040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.055229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.085984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.121792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.065593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.065552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.107316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.062332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.101595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.086117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.119174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.098258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.093358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.111262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.062011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.051798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.082774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.169384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.058004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.084998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.085196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.126186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.232605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.127415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.179569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.117992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.213610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.081951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.183920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.103823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file [0.037013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.054207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.238496s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.197980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.055768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.107610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.068912s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.141562s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.052164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.034536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.098256s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.072716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.162341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.048703s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.106201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.120855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.102688s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.049514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.094680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.071298s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.105522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.063005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.166186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.136650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.132046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.178155s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.113439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.069159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.108675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.075117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.037856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.138512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.072673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.449665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.113687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.106200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.038945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.034475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.220421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.039331s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_not_redfish [0.035691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_locked [0.037456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_notfound [0.034494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.166025s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.035500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.045373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.046421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.043042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.033824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.041095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.047060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.071783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.050694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.041378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.189540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.054540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.703385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.059071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.185330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.136865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [8.131763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.099294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.098997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.111928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.147492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.152368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.075745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.086932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.073448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.069691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.069904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.250000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.106828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.246668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.080615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.050046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.056505s] ... 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.073694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.050052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.048677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.143912s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.070292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.225374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.087694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.039946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.039346s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.042794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.148437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.088078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.272302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.071194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.393160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.079680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.073060s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.197304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.092492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.136959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.067010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.045736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.210372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.190174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.069112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.079701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.057714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.062465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.144864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_basic [0.058484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_raises_memory_guard [0.061185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.179713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.053389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.151029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.075221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.083824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_username [0.266361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.169823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.065601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_access_error_retry [0.054535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.058224s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.077402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.038072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.086379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.040294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.035393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.034619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.285501s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.158574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.071077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.611337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.085543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.104181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.129229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.075250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.242467s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.133546s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.079705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.090780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.164956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.234099s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.234166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.130318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.219992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.086007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.090525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.217488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.246196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.141364s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.095401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.063929s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.078749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.169800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.101138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.062248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.061039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.233379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.130237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.082376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.082700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.041464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.110760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.139655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.074535s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.048375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.044865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.198950s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.175418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.077264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.038434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.051947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.141242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.153450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.063663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.037416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.091078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.061269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.152517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.062187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.084177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.046672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.084200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.131262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.080860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.034849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.077585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.022809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.120553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.021259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.024006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.047399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.084882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.139341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.091865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.084484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.049743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.098301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.047291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [1.196883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.041472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.028690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.071938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.018786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.108990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_uuid_from_result_fails [0.292728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.023272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.026912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.105940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.104424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.102863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.105957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.089830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.061509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.195405s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.031285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.086428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.118518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.081981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.107657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.075286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.084963s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.213703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.095880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.073916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.059010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.093191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1 [0.088031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.076721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.227349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.073763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.309624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2 [0.111160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.067247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.059658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.050035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.064952s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.062811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.136596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.032449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.036625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.156411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.018649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.082744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.038188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.025511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.029478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.167983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.032326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.153106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.081514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.052591s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.122794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.082526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.253566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_compat [0.121499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.060841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.060678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.548804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.093468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.067970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.050428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.054668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.094435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.060915s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.312998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.058618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.050338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.036866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.112664s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.044293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.327281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception [0.081451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.054989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.101982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.281302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.069936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.124867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.079496s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_fail [0.076390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.128277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.248018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_reboot [0.081227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.442756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.106225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_unknown [0.065308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.049255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.062172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.024342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.052737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.242827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.040556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.118591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.045112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.042405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.036146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.340046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.193549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.070420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.061423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.053671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.210242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.139363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.074928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.385292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.110331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.261597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.123761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.195251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.104204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.080734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.244572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.070653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.496128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.135939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.027913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.193352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.036578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.057612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.058080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.031314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.044129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.247564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.086570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.080337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.523628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.082946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.239168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.074705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.053785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.101849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.036377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.268258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.061360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.096755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.074639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.083705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.081906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.330981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.037928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.042687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.121412s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.100687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.017985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.068599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.022232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.054281s] ... 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.052665s] ... 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.036673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.062018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.173212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.045405s] ... 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.051570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.057680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.045082s] ... 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.052788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.133675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.059470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.060164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.117408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.093065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.054353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.048804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.097285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.023976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.161195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.077147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.100949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.126960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.082940s] ... ok DEBUG util.py:445: {2} 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: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.020109s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.076772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.051600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.113336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.065451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.022136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.031080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.039273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.052043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.142436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.183205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.063387s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.052054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.036620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.102082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.181270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.044774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.028688s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.040180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.062404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.163451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.247885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.072667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migrate_all [0.105955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.192567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.228898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.438052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.301362s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.761866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.257314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.194087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.164916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.292289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.050190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.038755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.058620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.029422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.031380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.031682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.021989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.294410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.029534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.044594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.330625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.062451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.056266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [5.062311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.063666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.082148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.337177s] ... 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.157555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.059605s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.065082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.035378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.055891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk_with_kernel_arg [0.490960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.062480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.053470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.041644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.402599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.059803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.031094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.033134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.037152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.039843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.345733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.039417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.917897s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.281440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.026126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.023965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.060969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.232616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.050975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.040015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.075396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.055850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.046566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.169749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.075579s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.184803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.283379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.148534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.046125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.040662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.038618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.038627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.041715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.178380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.026693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.044058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.035443s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.027597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.025256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.026564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.025249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.025184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.027632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_fast_track [0.271278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.031351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.027377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.030700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.029469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.032264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.139625s] ... 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.031930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.033284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.027076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.037028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.027139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.026957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.019431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.022852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.024518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_localboot_uefi [0.220231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.076912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.048706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_netboot [0.122788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.080687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.082007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.131909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.137747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.111019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.175120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.181944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.198920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.057642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.147281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image_bfv [0.080869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.089775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.096546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.085828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.059962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.132904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.104624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.073370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.083974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.048102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.038901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.210237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.072406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch [0.038290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.041959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.073871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.028994s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.020046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.032172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.073632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_cpu_arch [0.030009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.041379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.029274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.029906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.032678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.020195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.025957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.064742s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.062032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.064335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.080591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean_attribute_error [0.090982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.059830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.109993s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.082726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.086927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.143847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.104986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.071951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.200683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.117856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.052357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.049112s] ... 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.150175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.041370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_unrescuing [0.056072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.116554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.041218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.030987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.067920s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.123821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.062249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.115938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.063177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.057428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.088580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.025177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.048751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.055783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.049584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.058347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.256056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.027506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.022007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.072679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.028260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.026795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.026521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.026296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.031573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.061796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.027216s] ... 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.044065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.020685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.021236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.036271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.021279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.023397s] ... 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.049779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.021176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.021007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.043616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.024322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.023060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.037547s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.026658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.021563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.090000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.045318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.040078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.045245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.084406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.042011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.042422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.085637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.020824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.021278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.019220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.019803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.088408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.019858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.023591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.021294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.084947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.030143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.020527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.024444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.064115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.047433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.027875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.042203s] ... 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.118052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.042921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.062674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.048694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.049099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.048250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.021367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.020475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.018174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.020570s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.023943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.019014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.030308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.020462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.017616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.017988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.025034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.017941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.018303s] ... ok DEBUG util.py:443: This is bad/usr/lib/python3.6/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:create 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: 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.050994s] ... 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_virtual_media_boot [0.060576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.044661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.046655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.043897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.041661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.021577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.041311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.040855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.046472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.047346s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.020508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.020239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.018640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.021111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.046341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.048098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.044604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.023564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.026727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.022805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.024605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.022232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.020365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.019668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.021443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.024636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.030163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.020414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.017967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.017404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.017180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.018897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.022885s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.025457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.023522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.025178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.022097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.038829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.027374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.030456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.019374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.018187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.030378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.019457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.019853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.026494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.029575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.023408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.021775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.025028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.023260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.021561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.023623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.051751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.023340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.022325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.021070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.019038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.018351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.021116s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.023178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.018385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.016895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.017154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.017549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.016972s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.016560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.017041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.017894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.018802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.016250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.015732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.150900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.016623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.018176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.021433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.019253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.019725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.022610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.021088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.019645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.019843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.022097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.623033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.023108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.021347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.019380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.051029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.020425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.023838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.019130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.023537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.067065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.023567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.046402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.022165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.022656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.046706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.025673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.026861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.060213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.034326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.024300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.022007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.024165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.022145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.057011s] ... ok DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}]} 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.72'}, '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: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Malformed option m1.key1value1 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: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.041948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.028370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.117673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.115517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.118790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.293189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.080621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.066689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.073674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.079403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.064735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.062150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.050866s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.029778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.032888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.035240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.049198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.056454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.043305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.040313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.054007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.055050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.024740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.044815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.056120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.061555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.064166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.070628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.071773s] ... 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.043312s] ... 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.062549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.035089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.040959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.028649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.023926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.025196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.042661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.058478s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.025699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.047072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.056224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.041541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.058629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.072168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.051117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_glance_image [0.044808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.071470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.040830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.049437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.050642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.060691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.142713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.185251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.050722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.050213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.060978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.024178s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.046106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.042447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.049828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.041140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.044487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.028552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.027807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.045015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.025824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.042908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.041721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.042301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.041119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.035539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.025375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.022652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.041284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.045087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.046982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.045478s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.047502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.044591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.045708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.055170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.042643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.031522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.028237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.030357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.028679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.024653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.025317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.026855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.021943s] ... 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.026961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.032496s] ... 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_webserver [0.032527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.032191s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.017996s] ... 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.019463s] ... 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.061113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.055721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.020456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.057322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.056621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.027816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.024653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.044624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.061899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.051900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.055624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.059265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.066110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.206808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.052889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.051206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.065668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.048062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.049097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.040823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.057435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.045675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.053704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.058942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.067298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.071445s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.065254s] ... 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.061823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.055572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.062446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.039103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.054413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.068224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.035985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.062699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.066178s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.078752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.061788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.090604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.053689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.089051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.097556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.061978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.087676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.075011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.059539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.042932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.070961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.030276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.041104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.024622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.069230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.057574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.062541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.082656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.111937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.101296s] ... 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.093405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.257569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.059392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.046157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.049548s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.061010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.046723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.067518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.064754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.047714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.047561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.081203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.051855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.074604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.024002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_https [0.036778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_https [0.033637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_http [0.034496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_https [0.035361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.030021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.023240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.040656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.023981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.023190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.045843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.023444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.031876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.025136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_support_auth [0.032096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security_ [0.026592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.038576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.024251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.023510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.038366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.045240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.048054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.047298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.144037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.039344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.048926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.048740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.032144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.029406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_object [0.031121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.040265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.037618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.038290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.054633s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.056947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.043155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.036581s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.041219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.035588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.035951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.039534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.056273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.081643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.068506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.073967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.045856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.057230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.040182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.083087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.106080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.086973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.052374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.053338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.044202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.059183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.057671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.057814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.046784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.060353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.051798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.049559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.089948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.052986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.053568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.217501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.068703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.059671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.025205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.054301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.073944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.051993s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.049624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.051406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.046892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.047126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.046744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.047645s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.078353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.053808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.037053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [3.049713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.035721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.040384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.034253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.038088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.036985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.080368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.086981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.062734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.040316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.038112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.035894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.038359s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.046995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.044642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.046651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.050739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.058977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.032364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_locked [0.034403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.035805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.033462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.035202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.035100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.044231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.076369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.037982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.034298s] ... 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.033572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.212964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.035144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.048384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.034937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.029133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.072223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [30.248593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.120889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.066107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.045832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.043151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.093154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.037388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_auto [0.058571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [30.384420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_address [0.070508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.097110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_session_reuse [0.087368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.068102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_attribute_error [0.085965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.042538s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.038389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.054539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.064183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.048990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.054925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.072584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.059698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.053942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.048043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.074459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.047881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.040170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.220411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.074734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.054562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.082714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.047280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_uuid_from_result [0.048083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.066726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.064508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.113270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.086498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.051089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.036749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.051723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.046059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.028794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.032165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.035374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.056730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.049090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.040898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.063298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.048348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.042637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.041640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.060927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning [0.072560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.057688s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_no_step_running [0.060171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.055981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.056986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.023653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.078569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [5.062655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.052790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.223634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.059468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.128999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step_polling [0.060291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.058900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.090202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.045775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.047046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.054849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.047509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.054044s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.043555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.041414s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.018420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.018149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.022654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.019207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.016641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.019814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.018864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.026443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.025915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.020122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.025712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.019275s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.022160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.051842s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [5.065595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.029265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.023503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.052066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.039111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.020444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.040378s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.022553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.021050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.020464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.021251s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.021664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.023479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.030953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.030322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.026805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.047152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.037262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.022602s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.023548s] ... 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.025677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.029372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.021859s] ... 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.022231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.037359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.028500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.034953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.033599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.025508s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.038190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.025940s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.026322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.028234s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.026173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.019411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.019141s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.018389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.019280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.017199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.018410s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.023366s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.017416s] ... 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.058196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.050995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.060829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.065444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.066877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.087166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.041625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.028529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.027709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.031784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.024319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.024778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.028280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.023012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.026639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.025173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.024131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.020715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.018468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.020876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.021135s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.018401s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.016193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.025529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.020832s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.023408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.019897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.022850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.161019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.027936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.039292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.042055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.045280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.028254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.038086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.036225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.036613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.041617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.081132s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.025552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.052577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.036882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.028687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.026347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.025628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.023740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.069087s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.039541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.020260s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.018852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.022851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.020256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.020297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.019378s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.018934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.018560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.023705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.058615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.043454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.046568s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.042120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.043854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.049699s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.040941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.045369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.043850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.044036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.042386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.088474s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.047425s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.052663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.030181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.031352s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.031020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.029874s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.028557s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.031219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.029550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.039510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.027926s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.029490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.038658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.028278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.040256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.038916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.035896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.040432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.036058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.044397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.049198s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.061481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.055357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.059341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_with_fallback [0.060761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.062506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.060532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.101491s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.094056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.092256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.215193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.057573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.038213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.041121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.041590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_should_write_image_false [0.053366s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.042550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_fast_track [0.053710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_localboot [0.065303s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.045111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_with_smartnic_port [0.072147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.018758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.018190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.026720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image_no_root [0.049914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.069974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.098335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.054893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch_none [0.024268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.023995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.030457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.024007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.033909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.024384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.021637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.020636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.032523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.021241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.020721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.019758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.020086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.016740s] ... ok DEBUG util.py:443: /usr/lib/python3.6/site-packages/oslo_policy/policy.py:1065: UserWarning: Policy baremetal:node:list_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:1065: UserWarning: Policy baremetal:driver:get 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:1065: UserWarning: Policy baremetal:driver:vendor_passthru 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:1065: UserWarning: Policy baremetal:conductor:get 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:1065: UserWarning: Policy baremetal:deploy_template:create 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:1065: UserWarning: Policy baremetal:deploy_template:get 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:get 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:1065: UserWarning: Policy baremetal:chassis:delete 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: 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.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.023862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.017055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.017177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.053276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.060447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.068757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.064498s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.073881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.072464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.079825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.088261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.075220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.035793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.042201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.036953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.036680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_active [0.051696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate [0.040664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_interface_mismatch [0.054682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.051166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.041706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.048618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.046738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.047327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.055291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.055465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.050536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.049491s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.022494s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.035674s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.021882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.021772s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.028728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.022171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.030823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.024919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.024097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.023933s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.025951s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.022667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.021269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.023242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.022835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.020759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.029921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.024668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.181741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.029420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.023872s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.021894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.022738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.024030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.022356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.048163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.053686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.052382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.048228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.047412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.028476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.021778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.020236s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.021288s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.021845s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.020273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.020570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.020952s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.020812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.031181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.025164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.047340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.041734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.054088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.043105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.019289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.017557s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.019023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.018181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.017612s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.018387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.021870s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.020000s] ... 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: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.043346s] ... 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: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_idrac [0.044189s] ... 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: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.059132s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.042458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.040258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.042971s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.043264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.044405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.040185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.040189s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.043518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.045469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.041710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.025990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.041485s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.054199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.044339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.019271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.020605s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.020773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.020162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.020066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.028286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.019865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.019032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.019947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.021574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.019359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.032588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.031352s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.019540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.027080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.020209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.025664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.021735s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.019565s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.019982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.032919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.017029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.021078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.019760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.020993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.024389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.020678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.020197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.021184s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.021059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.021741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.024328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.022193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.022215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.022176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.022148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.023372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.030291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.030050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.030204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.040033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.024814s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.026083s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.025678s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.022190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.032695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.023590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.022550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.024854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.024393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.024241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.020330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.018996s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.022071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.027577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.017987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.018995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.017719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.019417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.018282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.021334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.019326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.021706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.023426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.017121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.016779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.018856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.017272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.019377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.017176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.017729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.017513s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.018999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.017330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.159893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.020254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.021600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.034428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.054919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.053931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.022948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.022006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.020979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.028506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.021163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.020600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.021126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.022697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.024266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.021020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.020773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.022438s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.023083s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.032203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.023684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.025893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.020709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.022170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.020730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.021722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.021482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.023447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.025829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.034620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.022042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.026964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.022175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.021353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.022096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.019902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.018199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.019937s] ... ok DEBUG util.py:445: GET: /v1/things {'name': 'foo', 'flag': True} DEBUG util.py:445: GOT:{'foo': True} 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.72'}, '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'}]} 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: func2() migrated 0 of 0 objects. DEBUG util.py:445: func1() migrated 10 of 15 objects. DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: Data migrations have not completed. Please re-run. DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [30.078220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.063916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.064250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy [0.080961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.057366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_reboot_to_instance [0.118842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.061307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_in_core_deploy_step [0.058124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_in_core_deploy_step_in_other_step [0.060189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.051519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.053312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.066818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.046269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.021777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.022807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.019465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.020056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.018943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.022030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.021897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.032227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.039962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [30.068205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.059413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.056867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.053982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_decomposed_steps [0.057902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.055418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.225617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step [0.058551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.083068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.061243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.043963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.046862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.021579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.017580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.017628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.018406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.018221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.017364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.018281s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.170821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.022551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.020392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.019937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.033000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.021314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.023631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.025081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.047208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.051816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.039662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.020129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.019415s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.024216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.026308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.045392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.042680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.024788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.035188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.032831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.033732s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.033140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.026048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.021994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.019389s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.046515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.024812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.025293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.027748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.023915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.025796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.050779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.052924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.029820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.043045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.040972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.019690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.020326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.019822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.026835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.023274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.022174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.023367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.027045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.025060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.029458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.147904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.062872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.139311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.025181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.018635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.023801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.019908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.017839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.019096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.022690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.028875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.020202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.018455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.051514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.065804s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.068838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.064358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.067077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.026040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.067594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.041589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.022579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.020879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.020085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.024187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.022594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.019002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_linkfail [0.026397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.021508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.022109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.021359s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.019229s] ... 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.021019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.024886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.026344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.037461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk [0.039222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.036984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.041761s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.036897s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.036318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.037001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.036200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.037125s] ... 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.096355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.212765s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.029185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.036059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.025989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.027180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.032523s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.026172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.018782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.018400s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.020701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.019786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.020036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.021581s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.019814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.021276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.020134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.019069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.019609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.050292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.029202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.049429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device [0.067885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.049820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.051731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.062910s] ... 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.053020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.052173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.056318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.047567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.047219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.044876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.044865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.046129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.029593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.029199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.029529s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.028415s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.029833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.031869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.028390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.027103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.027763s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.028809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.026057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.025816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.026739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.027642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.032416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.028313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.026538s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.045750s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.032411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.026983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.027222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.045426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.029175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.028386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.030083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.029270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.027648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.043840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.047488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.036773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.046718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.043766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.045978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.035805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.038700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.035306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.043886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.059723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.082849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.076428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.079179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.090849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.094341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.042774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.045434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.040414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.041927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.046829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.067270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.051832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.052501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_with_deployment_reboot [0.067373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.202539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_with_smartnic_port [0.069869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.046549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [0.045503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.034657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.025413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.040516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.041596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints_iinfo [0.056629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.027009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.022024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.024002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.024666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.024257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.027154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image_sparse [0.027965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.027406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.028691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.018590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.099606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.053705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.045781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.051603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.052226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.049533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.050145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.068423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.051353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.073422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.043217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.038480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.050067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_has_stage2_id [0.054366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.040844s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy [0.147045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare [0.062875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.048110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.050944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.049460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.047914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.046156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.050355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.021254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.021940s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.021261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.020477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.021708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.022075s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.026139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.021194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.025310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.020743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.025357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.024289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.020888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.021628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.020980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.022145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.021303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.021245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.021796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.020691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.020323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.021779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.022371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.020751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.021752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.021638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.021464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.022960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.020849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.022492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.022683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.021692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.023826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.021246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.030360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.045838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.020828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.018681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.019331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.020253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.019152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.018936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.018360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.152742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.021320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.021356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.019543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.024616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.023580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.024666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.045602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.042698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.051592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.032234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.017193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.017139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.020015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.016969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.018291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.021320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.018022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.017496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.018828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.017163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.019211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.017873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.017147s] ... 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: 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_override_no_vendor [0.044038s] ... 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_override_with_raid [0.064446s] ... 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_override_with_redfish_raid [0.045169s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.042073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.038222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.044721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.041169s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.043183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.037960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.041661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.046458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.040070s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.044256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.042086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.042451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.020875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.018142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.024667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.024250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.024461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.050542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.051300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.019343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.020718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.019314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.019712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.019471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.019990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.020877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.020975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.020209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.021133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.022529s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.028967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.022888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.021430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.023302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.022347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.020955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.020846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.021785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.053989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.028498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.037705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.032317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.018291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.017071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.017233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.017139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.016956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.017376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.017107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.020826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.020160s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.019839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.020525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.020096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.020533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.019850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.020042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.019871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.021087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.020432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.020291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.020189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [15.096101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.020747s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.021868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.025716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.086195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.018186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.027959s] ... 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 [0.021063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.028109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.022511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.042331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.021963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.044580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.031673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.040288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.045519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.025759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.027951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.028301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.036611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.024375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.022096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.021691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.021052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.046997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.022112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.021933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.020507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.031576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.022835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.017876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.022369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.018330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.017794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.018433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.020545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.017316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.017299s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.017668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.021219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.018256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.018145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.021848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.017994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.020879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.022738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.020156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.021280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.021726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.022097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.020285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.020540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.021644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.024607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.020632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.021110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.019655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.164938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.020123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.862052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.023417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.021903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.023214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.061120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.028862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.022813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.056007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.031527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.027522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.037175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.048373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.025304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.033925s] ... ok 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-64eed2a0-3853-4da4-9374-b803b32bdde5 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.72'}} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}]} 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-e152bcf7-0435-4033-b370-380c4f490679 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 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: 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.72'}} DEBUG util.py:445: foo() migrated 15 of 15 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 m1key1=value1 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-17ecea5a-0808-46d3-a94f-a07718fffb73', '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/tmp_rieg5pt/tmpzqxa7u9o/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmp_rieg5pt/tmpzqxa7u9o/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.049974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.036131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.044835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.039948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.077118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.101098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.073307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.034233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.053245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.045738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.019595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.042032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.025791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.034631s] ... 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.023553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.027851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.023599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_software_raid [0.025421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.025116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.034721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.023191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.024957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.017990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.017186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.017689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.018277s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.018596s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.018450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.017991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.018109s] ... 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.049518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.054346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.052786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.043743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.056568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.042392s] ... 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.023427s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.023290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.027308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.025183s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.026485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.017800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_large_url [0.017208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.139956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.020149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.018559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.018260s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.018381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.022558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.033550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.032865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.036382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_boot_iso [0.038639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.033144s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.033269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.040857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.034963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.032431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.025812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.025743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.047379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.024429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.045448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.022890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.421091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.070003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.062896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.060722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.032707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.018931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.017829s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.017857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.046766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.038431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.042745s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.042099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.038063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.179749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.037915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.050354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.041449s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.039977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.038627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.039740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.044409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.042968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.040434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.043514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.040041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.041668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.043181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.038031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.038589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.044285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.032716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.024729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.025442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.025177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.025977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.028756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.026699s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.024668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.025352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.023470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.024232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.025210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.024466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.023606s] ... 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.024522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.025328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.043714s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.025800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.026179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.041356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.043344s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.041066s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.057558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.043187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.055759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.046377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.035696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.045384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.046653s] ... 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-3438264a-a06c-4ef9-8d8c-65b83ed16f83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.520518+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-3438264a-a06c-4ef9-8d8c-65b83ed16f83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.72 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.72 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2023-10-12T03:28:47.520518+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/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-482688d3-2804-4679-bce0-cec2db42b5dc 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-17.1.1.dev10/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-17.1.1.dev10/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-0f9c7074-f5ea-40c1-81d3-361285aa48b4 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"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-81b74d0e-d354-439f-8221-de9b983a6008 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/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-a0afd9b0-a6d9-4e96-84a5-a67406651ef4 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} 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-01401e19-1d6b-4b34-a55b-fcea7b2a885e DEBUG util.py:445: "nothing" 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-0ffe1ee3-8ac0-4d6b-9ddd-065b97f642f5 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 aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.72'}]} 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: 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.72'}, '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: 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: {'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: Node(allocation_id=None,automated_clean=None,bios_interface='fake',boot_interface='ipxe',chassis_id=None,clean_step={},conductor_affinity=None,conductor_group='',console_enabled=False,console_interface='fake',created_at=2023-10-12T03:32:09Z,deploy_interface='fake',deploy_step={},description=None,driver='fake-hardware',driver_info={'deploy_kernel': 'glance://deploy_kernel_uuid', 'deploy_ramdisk': 'glance://deploy_ramdisk_uuid', 'rescue_kernel': 'glance://rescue_kernel_uuid', 'rescue_ramdisk': 'glance://rescue_ramdisk_uuid'},driver_internal_info={'is_whole_disk_image': False},extra={},fault=None,id=1,inspect_interface='fake',inspection_finished_at=None,inspection_started_at=None,instance_info={'boot_iso': 'http://1.2.3.4:1234/boot.iso', 'capabilities': {'boot_option': 'ramdisk'}},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='deploying',provision_updated_at=2023-10-12T03:32:09Z,raid_config={},raid_interface='fake',rescue_interface='fake',reservation='fake-mini',resource_class=None,retired=False,retired_reason=None,storage_interface='noop',target_power_state=None,target_provision_state=None,target_raid_config={},traits=TraitList,updated_at=2023-10-12T03:32:09Z,uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123,vendor_interface='no-vendor'){0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.063821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.075504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.072214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.067393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.074314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.064750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.086600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.037134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.039341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.036845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.048675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.041947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.038621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.044822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.033331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image [0.059019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image_out_of_memory [0.054935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.083908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.207033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.088855s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.023211s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.024214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image_no_root [0.022875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.033325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.024381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.020727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.021789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.023862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.021756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.026603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection [0.022177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection_override_attempts [0.019388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.016955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.056442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.072908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.105308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.038790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.039643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.052471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.059130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.040057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.065477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.065115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.073333s] ... 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.089518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.039957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.042315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.045279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.042762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.049669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy_with_smartnic_port [0.152613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_instance_ramdisk [0.102935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_calls_boot_validate [0.043997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.040099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.049164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.052116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.050235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.047596s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.046370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.020906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.021620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.022747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.021623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.021865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.028580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.024682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.024498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.023585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.023696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.028732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.025675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.022057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.159288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.025153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.025087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.023469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.050454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.043540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.048031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.044523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.042179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.044963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.020198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.025806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.021090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.022027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.020270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.021649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.020762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.030289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.021507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.023332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.020993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.027133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.025381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.046516s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.044105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.051275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.045407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.019858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.017733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.017880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.018605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.019968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.017914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.018793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.018271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.030091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.018255s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.017774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.021282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.017983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.017792s] ... 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: 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_bios [0.044824s] ... 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_inspect [0.059664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.040725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.041123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.041627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.040701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.029239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.042834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.039859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.057480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.041723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.039348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.039733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.043128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.045854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.040662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.022515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.024711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.021397s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.052728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.059133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.027299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.027032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.029138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.036734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.031812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.024209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.023221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.020794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.020985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.022662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.019901s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.029083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.021925s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.023135s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.024005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.025114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.022016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.041384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.049894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.018553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.018022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.020862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.021118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.020328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.019549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.020044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.022375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.020689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.020150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.026313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.020099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.019626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.019806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.019284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.018760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.018475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.018655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.020772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.019591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.019185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.022320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.020214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.025584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.020019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.020349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.016836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.016170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.016632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.018013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.016404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.016239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.016134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.016010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.016250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.016315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.016436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.017109s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.017523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.017210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.017159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.019791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.016222s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.016171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.016103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.017643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.019624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.017261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.017966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.016511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.020332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.019570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.018827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.018461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.018019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.017866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.017891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.018261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.018315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.018874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.019174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.140337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.024144s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.020123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.019415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.018476s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.018404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.020326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.031512s] ... ok DEBUG util.py:445: ====== DEBUG util.py:445: Totals DEBUG util.py:445: ====== DEBUG util.py:445: Ran: 8413 tests in 365.0897 sec. DEBUG util.py:445: - Passed: 8368 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: 1325.5919 sec. DEBUG util.py:445: ============== DEBUG util.py:445: Worker Balance DEBUG util.py:445: ============== DEBUG util.py:445: - Worker 0 (2104 tests) => 0:06:03.062857 DEBUG util.py:445: - Worker 1 (2103 tests) => 0:05:34.073293 DEBUG util.py:445: - Worker 2 (2103 tests) => 0:05:52.443953 DEBUG util.py:445: - Worker 3 (2103 tests) => 0:04:41.138561 DEBUG util.py:445: + exit 0 DEBUG util.py:445: Processing files: openstack-ironic-common-17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:443: warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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.Cb4ed6 DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-17.1.1.dev10 DEBUG util.py:445: + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.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.W8kvZY DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-17.1.1.dev10 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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:17.1.1-0.20231012031905.c31db88.el8 openstack-ironic-common = 1:17.1.1-0.20231012031905.c31db88.el8 python3.6dist(ironic) = 17.1.1.dev10 python3dist(ironic) = 17.1.1.dev10 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 python3-sushy >= 3.4.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-17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: Provides: openstack-ironic-api = 1:17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: Provides: openstack-ironic-conductor = 1:17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.OP6QrY DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-17.1.1.dev10 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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:17.1.1-0.20231012031905.c31db88.el8 openstack-ironic-dnsmasq-tftp-server = 1:17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: Provides: python3-ironic-tests = 1:17.1.1-0.20231012031905.c31db88.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-17.1.1-0.20231012031905.c31db88.el8.x86_64 DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-common-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-api-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-conductor-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/python3-ironic-tests-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm DEBUG util.py:445: Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.aipOEk DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-17.1.1.dev10 DEBUG util.py:445: + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-17.1.1-0.20231012031905.c31db88.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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-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: ['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-wallaby-x86_64-5/root DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-wallaby-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: 2800.000 DEBUG util.py:445: BogoMIPS: 5600.00 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 xsaves clzero xsaveerptr wbnoinvd arat npt nrip_save 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: 16139340 3942064 1482740 2138496 10714536 9718940 DEBUG util.py:445: Swap: 16777212 4960492 11816720 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-wallaby-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: /dev/vda1 550G 531G 20G 97% / DEBUG util.py:445: /dev/vda1 550G 531G 20G 97% / 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-wallaby-x86_64-5-bootstrap/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/log/yum.log DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root DEBUG buildroot.py:199: resultdir = /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/results DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5-bootstrap/root/etc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/.initialized DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root DEBUG file_util.py:17: ensuring that dir exists: /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 INFO buildroot.py:175: calling preinit hooks DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-wallaby-x86_64-5/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root_cache/cache.tar.gz', '-C', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/./proc DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./sys DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./dev DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./dev DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./tmp/ccache DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./var/cache/yum DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./var/log DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/./var/log DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-wallaby-x86_64-5/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos8-wallaby-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: 2800.000 DEBUG util.py:445: BogoMIPS: 5600.00 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 xsaves clzero xsaveerptr wbnoinvd arat npt nrip_save 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: 16139340 3734492 535780 2138364 11869068 9746280 DEBUG util.py:445: Swap: 16777212 4960492 11816720 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-wallaby-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: /dev/vda1 550G 532G 19G 97% / DEBUG util.py:445: /dev/vda1 550G 532G 19G 97% / 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-wallaby-x86_64-5/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root/proc DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos8-wallaby-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.rtryedxn', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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', '5aeb354325134b1282f094a66817c560', '-D', '/var/lib/mock/dlrn-centos8-wallaby-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', '1022', '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-wallaby-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-wallaby-x86_64-5-bootstrap/root/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96'] 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-wallaby-x86_64-5-bootstrap/root/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96'] 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-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-common-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-api-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-conductor-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-dnsmasq-tftp-server-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm /home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/python3-ironic-tests-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos8-wallaby-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-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-common-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-api-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-conductor-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-dnsmasq-tftp-server-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/python3-ironic-tests-17.1.1-0.20231012031905.c31db88.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.p0rullun:/etc/resolv.conf'] DEBUG util.py:540: Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '50f0012cea8b43f696cd0d8c04d19a96', '-D', '/var/lib/mock/dlrn-centos8-wallaby-x86_64-5-bootstrap/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.p0rullun:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-common-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-api-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-conductor-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/openstack-ironic-dnsmasq-tftp-server-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96/python3-ironic-tests-17.1.1-0.20231012031905.c31db88.el8.noarch.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos8-wallaby-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:443: Invalid configuration value: failovermethod=priority in /var/lib/mock/dlrn-centos8-wallaby-x86_64-5/root/etc/dnf/dnf.conf; Configuration: OptionBinding with id "failovermethod" does not exist DEBUG util.py:445: delorean-openstack-ironic-python-agent-0211fa9c 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-f6b44fc201c3e679d7036 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-ansible-collections-openstack-0e9a6f26 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-gnocchi-46afa670b2e57962dc4c7498c2c7b7 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tobiko-5d04e37ab05c214fbfa36 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-4aaeae386e1ae3ec28e43be 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-glance-tests-tempest-87df2f444b 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-6386142c0db5e361b9360 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-designate-c9945e11e75b1382a2 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-octavia-tests-tempest-b9af9163c 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-54dd95db47a9e1011a4 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-16dbcae9df9773f2b2bfea 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-sahara-tests-f67f18fbdef1e3f 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-puppet-tripleo-3845de2f038356e57263cfa 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-ui-0affe1a7d0437876b 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-validations-common-f273ccbb963e31056bd 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS-Stream - Base 51 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS-Stream - AppStream 59 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 15 kB/s | 4.4 kB 00:00 DEBUG util.py:445: dlrn-wallaby-testing 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-wallaby-build-deps 34 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Advanced Virtualization mirror 41 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Messaging RabbitMQ 40 kB/s | 3.0 kB 00:00 DEBUG util.py:445: opstools 41 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 37 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-api noarch 1:17.1.1-0.20231012031905.c31db88.el8 @commandline 8.7 k DEBUG util.py:445: openstack-ironic-common noarch 1:17.1.1-0.20231012031905.c31db88.el8 @commandline 1.4 M DEBUG util.py:445: openstack-ironic-conductor noarch 1:17.1.1-0.20231012031905.c31db88.el8 @commandline 7.9 k DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server noarch 1:17.1.1-0.20231012031905.c31db88.el8 @commandline 12 k DEBUG util.py:445: python3-ironic-tests noarch 1:17.1.1-0.20231012031905.c31db88.el8 @commandline 1.4 M DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: dnsmasq x86_64 2.79-31.el8 Stream-AppStream 322 k DEBUG util.py:445: libsodium x86_64 1.0.18-2.el8 delorean-wallaby-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.7.1-0.20220301090510.d0252f6.el8 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 4.4.0-0.20210315114231.7dcf9e9.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 8.5.2-0.20221007170041.26fd6fb.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.0.1-0.20210315103856.73187bd.el8 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 4.4.0-0.20210315105132.9b29c90.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 4.2.1-0.20220225080425.b40ca5f.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 3.7.1-0.20220119091831.639b471.el8 delorean-component-common 11 k DEBUG util.py:445: python-oslo-utils-lang noarch 4.8.2-0.20220428092247.a38b56a.el8 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 2.4.1-0.20220225075849.89ff171.el8 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20210315104351.4179996.el8 delorean-component-common 14 k DEBUG util.py:445: python3-PyMySQL noarch 0.10.1-2.module_el8.5.0+761+faacb0fb Stream-AppStream 98 k DEBUG util.py:445: python3-alembic noarch 1.4.3-1.el8 delorean-wallaby-testing 816 k DEBUG util.py:445: python3-amqp noarch 5.0.5-1.el8 delorean-wallaby-testing 97 k DEBUG util.py:445: python3-appdirs noarch 1.4.3-12.el8 delorean-wallaby-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.3.1-0.20220228091836.4a3e539.el8 delorean-component-common 41 k DEBUG util.py:445: python3-bcrypt x86_64 3.1.7-3.el8 delorean-wallaby-testing 44 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.9.3-1.el8 delorean-wallaby-testing 215 k DEBUG util.py:445: python3-cachetools noarch 4.2.0-1.el8 delorean-wallaby-testing 35 k DEBUG util.py:445: python3-cinderclient noarch 7.4.1-0.20210903082820.4f72e6f.el8 delorean-component-clients 241 k DEBUG util.py:445: python3-cliff noarch 3.7.0-0.20210315123449.117a100.el8 delorean-component-common 95 k DEBUG util.py:445: python3-cmd2 noarch 1.4.0-1.1.el8 delorean-wallaby-testing 307 k DEBUG util.py:445: python3-colorama noarch 0.4.3-3.el8 delorean-wallaby-testing 36 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.2.0-0.20210315103218.649189d.el8 delorean-component-common 31 k DEBUG util.py:445: python3-decorator noarch 4.4.0-5.el8 delorean-wallaby-testing 32 k DEBUG util.py:445: python3-defusedxml noarch 0.7.1-1.el8 delorean-wallaby-testing 54 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.5-1.1.el8 delorean-wallaby-testing 91 k DEBUG util.py:445: python3-editor noarch 1.0.4-4.el8 delorean-wallaby-testing 19 k DEBUG util.py:445: python3-etcd3gw noarch 0.2.5-1.el8 delorean-wallaby-testing 41 k DEBUG util.py:445: python3-extras noarch 1.0.0-10.el8 delorean-wallaby-testing 21 k DEBUG util.py:445: python3-fasteners noarch 0.14.1-20.el8 delorean-wallaby-testing 44 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-16.el8 delorean-wallaby-testing 96 k DEBUG util.py:445: python3-future noarch 0.18.2-3.el8 delorean-wallaby-testing 789 k DEBUG util.py:445: python3-futurist noarch 2.3.0-0.20210315104620.1a1c6f8.el8 delorean-component-common 63 k DEBUG util.py:445: python3-glanceclient noarch 1:3.3.0-0.20210315220313.f802c71.el8 delorean-component-clients 147 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-2.el8 delorean-wallaby-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 1.7.0-1.el8 delorean-wallaby-testing 46 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 4.6.4-0.20220808090402.27305f0.el8 delorean-component-baremetal 164 k DEBUG util.py:445: python3-iso8601 noarch 0.1.12-3.el8 delorean-wallaby-testing 25 k DEBUG util.py:445: python3-jeepney noarch 0.4.3-1.el8 delorean-wallaby-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-wallaby-testing 112 k DEBUG util.py:445: python3-kazoo noarch 2.8.0-1.el8 delorean-wallaby-testing 164 k DEBUG util.py:445: python3-keyring noarch 21.0.0-1.el8 delorean-wallaby-testing 80 k DEBUG util.py:445: python3-keystoneauth1 noarch 4.3.1-0.20210315155409.112bcae.el8 delorean-component-security 431 k DEBUG util.py:445: python3-keystoneclient noarch 1:4.3.0-0.20220713080823.d5cb761.el8 delorean-component-clients 252 k DEBUG util.py:445: python3-keystonemiddleware noarch 9.2.0-0.20210316052900.3659bda.el8 delorean-component-security 92 k DEBUG util.py:445: python3-kombu noarch 1:5.0.2-1.el8 delorean-wallaby-testing 338 k DEBUG util.py:445: python3-logutils noarch 0.3.5-11.el8 delorean-wallaby-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-wallaby-testing 44 k DEBUG util.py:445: python3-migrate noarch 0.13.0-1.el8 delorean-wallaby-testing 238 k DEBUG util.py:445: python3-mock noarch 3.0.5-7.el8 delorean-wallaby-testing 55 k DEBUG util.py:445: python3-msgpack x86_64 1.0.2-1.el8 delorean-wallaby-testing 93 k DEBUG util.py:445: python3-munch noarch 2.5.0-3.el8 delorean-wallaby-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.55.1-0.20220406125402.f09ed4a.el8 delorean-component-clients 854 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20210315154727.0b2f473.el8 delorean-component-clients 36 k DEBUG util.py:445: python3-os-traits noarch 2.5.0-0.20210315123947.ac1b39e.el8 delorean-component-common 43 k DEBUG util.py:445: python3-oslo-cache noarch 2.7.1-0.20220301090510.d0252f6.el8 delorean-component-common 53 k DEBUG util.py:445: python3-oslo-concurrency noarch 4.4.0-0.20210315114231.7dcf9e9.el8 delorean-component-common 40 k DEBUG util.py:445: python3-oslo-config noarch 2:8.5.1-0.20210907102309.de1dbee.el8 delorean-component-common 227 k DEBUG util.py:445: python3-oslo-context noarch 3.2.1-0.20211026071333.b124eb7.el8 delorean-component-common 25 k DEBUG util.py:445: python3-oslo-db noarch 8.5.2-0.20221007170041.26fd6fb.el8 delorean-component-common 148 k DEBUG util.py:445: python3-oslo-i18n noarch 5.0.1-0.20210315103856.73187bd.el8 delorean-component-common 57 k DEBUG util.py:445: python3-oslo-log noarch 4.4.0-0.20210315105132.9b29c90.el8 delorean-component-common 63 k DEBUG util.py:445: python3-oslo-messaging noarch 12.7.3-0.20220428091418.5d6fd1a.el8 delorean-component-common 226 k DEBUG util.py:445: python3-oslo-middleware noarch 4.2.1-0.20220225080425.b40ca5f.el8 delorean-component-common 53 k DEBUG util.py:445: python3-oslo-policy noarch 3.7.1-0.20220119091831.639b471.el8 delorean-component-common 75 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220228095841.1b1b960.el8 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 4.1.1-0.20220225082330.bbe5d5a.el8 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 2.5.1-0.20220201082833.c1e3398.el8 delorean-component-common 70 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 1.3.1-0.20220225074957.9561ecb.el8 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-utils noarch 4.8.2-0.20220428092247.a38b56a.el8 delorean-component-common 80 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 2.4.1-0.20220225075849.89ff171.el8 delorean-component-common 77 k DEBUG util.py:445: python3-oslotest noarch 4.4.1-0.20210315103354.aaf3a72.el8 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.0-0.20210315111211.5d82a02.el8 delorean-component-common 132 k DEBUG util.py:445: python3-paste noarch 3.5.0-1.el8 delorean-wallaby-testing 813 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-1.el8 delorean-wallaby-testing 40 k DEBUG util.py:445: python3-pecan noarch 1.3.3-2.el8 delorean-wallaby-testing 283 k DEBUG util.py:445: python3-prettytable noarch 0.7.2-14.el8 Stream-AppStream 44 k DEBUG util.py:445: python3-psutil x86_64 5.7.3-1.el8 delorean-wallaby-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-wallaby-testing 140 k DEBUG util.py:445: python3-pycadf noarch 3.1.1-0.20210315104351.4179996.el8 delorean-component-common 51 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-wallaby-testing 109 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-4.el8 delorean-wallaby-testing 54 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-2.el8 delorean-wallaby-testing 24 k DEBUG util.py:445: python3-pyrsistent x86_64 0.17.3-1.el8 delorean-wallaby-testing 107 k DEBUG util.py:445: python3-pysnmp noarch 4.4.12-1.el8 delorean-wallaby-testing 698 k DEBUG util.py:445: python3-pyyaml x86_64 5.4.1-2.el8 delorean-wallaby-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-wallaby-testing 142 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-6.el8 delorean-wallaby-testing 33 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20210315095058.d7ac0ff.el8 delorean-component-common 15 k DEBUG util.py:445: python3-rfc3986 noarch 1.4.0-3.el8 delorean-wallaby-testing 52 k DEBUG util.py:445: python3-routes noarch 2.4.1-12.el8 delorean-wallaby-testing 196 k DEBUG util.py:445: python3-secretstorage noarch 3.1.1-4.el8 delorean-wallaby-testing 36 k DEBUG util.py:445: python3-simplejson x86_64 3.17.2-2.el8 delorean-wallaby-testing 280 k DEBUG util.py:445: python3-smi noarch 0.3.4-6.el8 delorean-wallaby-testing 136 k DEBUG util.py:445: python3-soupsieve noarch 2.1.0-1.el8 delorean-wallaby-testing 66 k DEBUG util.py:445: python3-sqlparse noarch 0.3.1-3.el8 delorean-wallaby-testing 88 k DEBUG util.py:445: python3-statsd noarch 3.2.1-16.el8 delorean-wallaby-testing 35 k DEBUG util.py:445: python3-stestr noarch 2.6.0-4.el8 delorean-wallaby-testing 166 k DEBUG util.py:445: python3-stevedore noarch 3.3.3-0.20221024072403.7b48fff.el8 delorean-component-clients 69 k DEBUG util.py:445: python3-subunit noarch 1.4.0-1.el8 delorean-wallaby-testing 97 k DEBUG util.py:445: python3-swiftclient noarch 3.11.1-0.20210316052106.06b36ae.el8 delorean-component-clients 175 k DEBUG util.py:445: python3-tempita noarch 0.5.1-25.el8 delorean-wallaby-testing 39 k DEBUG util.py:445: python3-tenacity noarch 6.2.0-1.el8 delorean-wallaby-testing 50 k DEBUG util.py:445: python3-testresources noarch 2.0.1-1.el8 delorean-wallaby-testing 62 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-17.el8 delorean-wallaby-testing 40 k DEBUG util.py:445: python3-testtools noarch 2.5.0-3.el8 delorean-wallaby-testing 353 k DEBUG util.py:445: python3-tooz noarch 2.8.3-0.20220808091041.73dbe0e.el8 delorean-component-common 109 k DEBUG util.py:445: python3-vine noarch 5.0.0-2.el8 delorean-wallaby-testing 26 k DEBUG util.py:445: python3-voluptuous noarch 0.12.1-1.el8 delorean-wallaby-testing 62 k DEBUG util.py:445: python3-waitress noarch 1.4.2-1.el8 delorean-wallaby-testing 255 k DEBUG util.py:445: python3-warlock noarch 1.3.3-1.el8 delorean-wallaby-testing 22 k DEBUG util.py:445: python3-wcwidth noarch 0.2.5-2.el8 delorean-wallaby-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-wallaby-testing 253 k DEBUG util.py:445: python3-webtest noarch 2.0.35-3.el8 delorean-wallaby-testing 87 k DEBUG util.py:445: python3-wrapt x86_64 1.12.1-3.el8 delorean-wallaby-testing 55 k DEBUG util.py:445: python3-yappi x86_64 1.3.0-1.el8 delorean-wallaby-testing 54 k DEBUG util.py:445: python3-zake noarch 0.2.2-18.el8 delorean-wallaby-testing 46 k DEBUG util.py:445: python3-zeroconf noarch 0.24.4-1.el8 delorean-wallaby-testing 93 k DEBUG util.py:445: python3-zipp noarch 3.4.0-1.el8 delorean-wallaby-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-wallaby-testing 40 k DEBUG util.py:445: python3-dracclient noarch 6.0.2-0.20220113135856.f23f125.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-scciclient noarch 0.10.2-0.20220802132904.b8e6e34.el8 delorean-component-baremetal 124 k DEBUG util.py:445: python3-sushy noarch 3.7.6-0.20221111103903.9b3cf44.el8 delorean-component-baremetal 174 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Install 149 Packages DEBUG util.py:445: Total size: 28 M DEBUG util.py:445: Total download size: 717 k DEBUG util.py:445: Installed size: 108 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-dracclient-6.0.2-0.20220113135856.f23f125.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ironic-lib-4.6.4-0.20220808090402.27305f0.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-scciclient-0.10.2-0.20220802132904.b8e6e34.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cinderclient-7.4.1-0.20210903082820.4f72e6f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-3.3.0-0.20210315220313.f802c71.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-4.3.0-0.20220713080823.d5cb761.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-0.55.1-0.20220406125402.f09ed4a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20210315154727.0b2f473.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.4.1-0.20210315103354.aaf3a72.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-3.3.3-0.20221024072403.7b48fff.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-3.11.1-0.20210316052106.06b36ae.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-2.7.1-0.20220301090510.d0252f6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-4.4.0-0.20210315114231.7dcf9e9.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-8.5.2-0.20221007170041.26fd6fb.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.0.1-0.20210315103856.73187bd.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-4.4.0-0.20210315105132.9b29c90.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-4.2.1-0.20220225080425.b40ca5f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-3.7.1-0.20220119091831.639b471.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-4.8.2-0.20220428092247.a38b56a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-versionedobjects-lang-2.4.1-0.20220225075849.89ff171.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20210315104351.4179996.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-2.3.1-0.20220228091836.4a3e539.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-3.7.0-0.20210315123449.117a100.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.2.0-0.20210315103218.649189d.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-2.3.0-0.20210315104620.1a1c6f8.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-traits-2.5.0-0.20210315123947.ac1b39e.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-2.7.1-0.20220301090510.d0252f6.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-4.4.0-0.20210315114231.7dcf9e9.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-8.5.1-0.20210907102309.de1dbee.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-3.2.1-0.20211026071333.b124eb7.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.0.1-0.20210315103856.73187bd.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-4.4.0-0.20210315105132.9b29c90.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-12.7.3-0.20220428091418.5d6fd1a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-4.2.1-0.20220225080425.b40ca5f.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-3.7.1-0.20220119091831.639b471.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1b960.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-4.1.1-0.20220225082330.bbe5d5a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-2.5.1-0.20220201082833.c1e3398.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-1.3.1-0.20220225074957.9561ecb.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-4.8.2-0.20220428092247.a38b56a.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-versionedobjects-2.4.1-0.20220225075849.89ff171.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osprofiler-3.4.0-0.20210315111211.5d82a02.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20210315104351.4179996.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20210315095058.d7ac0ff.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-2.8.3-0.20220808091041.73dbe0e.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-4.3.1-0.20210315155409.112bcae.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-9.2.0-0.20210316052900.3659bda.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-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-PyMySQL-0.10.1-2.module_el8.5.0+761+faacb0fb.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.4.3-1.el8.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-amqp-5.0.5-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-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-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-editor-1.0.4-4.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-16.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-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.2-1.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-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-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-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.2-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.1.0-1.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-2.6.0-4.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.2.0-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.12.1-3.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: (143/144): dnsmasq-2.79-31.el8.x86_64.rpm 1.4 MB/s | 322 kB 00:00 DEBUG util.py:445: (144/144): ipmitool-1.8.18-19.el8.x86_64.rpm 1.6 MB/s | 395 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 2.8 MB/s | 717 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/149 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-14.el8.noarch 2/149 DEBUG util.py:445: Installing : python3-iso8601-0.1.12-3.el8.noarch 3/149 DEBUG util.py:445: Installing : python3-netaddr-0.7.19-8.el8.noarch 4/149 DEBUG util.py:445: Installing : python3-dateutil-1:2.6.1-6.el8.noarch 5/149 DEBUG util.py:445: Installing : python3-futurist-2.3.0-0.20210315104620.1a1c6f8. 6/149 DEBUG util.py:445: Installing : python3-tenacity-6.2.0-1.el8.noarch 7/149 DEBUG util.py:445: Installing : python3-decorator-4.4.0-5.el8.noarch 8/149 DEBUG util.py:445: Installing : python3-mako-1.0.6-14.el8.noarch 9/149 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20210315154727. 10/149 DEBUG util.py:445: Installing : python3-wrapt-1.12.1-3.el8.x86_64 11/149 DEBUG util.py:445: Installing : python3-debtcollector-2.2.0-0.20210315103218.649 12/149 DEBUG util.py:445: Installing : python3-oslo-context-3.2.1-0.20211026071333.b124 13/149 DEBUG util.py:445: Installing : python3-voluptuous-0.12.1-1.el8.noarch 14/149 DEBUG util.py:445: Installing : python3-vine-5.0.0-2.el8.noarch 15/149 DEBUG util.py:445: Installing : python3-amqp-5.0.5-1.el8.noarch 16/149 DEBUG util.py:445: Installing : python3-tempita-0.5.1-25.el8.noarch 17/149 DEBUG util.py:445: Installing : python3-rfc3986-1.4.0-3.el8.noarch 18/149 DEBUG util.py:445: Installing : python3-msgpack-1.0.2-1.el8.x86_64 19/149 DEBUG util.py:445: Installing : python3-mock-3.0.5-7.el8.noarch 20/149 DEBUG util.py:445: Installing : python3-fasteners-0.14.1-20.el8.noarch 21/149 DEBUG util.py:445: Installing : python3-extras-1.0.0-10.el8.noarch 22/149 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-16.el8.noarch 23/149 DEBUG util.py:445: Installing : python3-testtools-2.5.0-3.el8.noarch 24/149 DEBUG util.py:445: Installing : python3-subunit-1.4.0-1.el8.noarch 25/149 DEBUG util.py:445: Installing : python3-pyOpenSSL-19.0.0-1.el8.noarch 26/149 DEBUG util.py:445: Installing : python3-paste-3.5.0-1.el8.noarch 27/149 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-4.el8.x86_64 28/149 DEBUG util.py:445: Installing : python3-attrs-17.4.0-6.el8.noarch 29/149 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-1.el8.noarch 30/149 DEBUG util.py:445: Installing : python3-oslotest-4.4.1-0.20210315103354.aaf3a72. 31/149 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-17.el8.noarch 32/149 DEBUG util.py:445: Installing : python3-etcd3gw-0.2.5-1.el8.noarch 33/149 DEBUG util.py:445: Installing : python3-pyghmi-1.5.29-1.el8.noarch 34/149 DEBUG util.py:445: Installing : python3-automaton-2.3.1-0.20220228091836.4a3e539 35/149 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-3.el8s.x86_64 36/149 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-3.el8s.x86_64 37/149 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-4.el8.noarch 38/149 DEBUG util.py:445: Installing : python3-zipp-3.4.0-1.el8.noarch 39/149 DEBUG util.py:445: Installing : python3-importlib-metadata-1.7.0-1.el8.noarch 40/149 DEBUG util.py:445: Installing : python3-stevedore-3.3.3-0.20221024072403.7b48fff 41/149 DEBUG util.py:445: Installing : python3-keystoneauth1-4.3.1-0.20210315155409.112 42/149 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.5-1.1.el8.noarch 43/149 DEBUG util.py:445: Installing : python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8 44/149 DEBUG util.py:445: Installing : python3-kombu-1:5.0.2-1.el8.noarch 45/149 DEBUG util.py:445: Installing : python3-yappi-1.3.0-1.el8.x86_64 46/149 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-2.el8.noarch 47/149 DEBUG util.py:445: Installing : python3-waitress-1.4.2-1.el8.noarch 48/149 DEBUG util.py:445: Installing : python3-testresources-2.0.1-1.el8.noarch 49/149 DEBUG util.py:445: Installing : python3-statsd-3.2.1-16.el8.noarch 50/149 DEBUG util.py:445: Installing : python3-sqlparse-0.3.1-3.el8.noarch 51/149 DEBUG util.py:445: Installing : python3-migrate-0.13.0-1.el8.noarch 52/149 DEBUG util.py:445: Installing : python3-soupsieve-2.1.0-1.el8.noarch 53/149 DEBUG util.py:445: Installing : python3-smi-0.3.4-6.el8.noarch 54/149 DEBUG util.py:445: Installing : python3-simplejson-3.17.2-2.el8.x86_64 55/149 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-6.el8.noarch 56/149 DEBUG util.py:445: Installing : python3-routes-2.4.1-12.el8.noarch 57/149 DEBUG util.py:445: Installing : python3-redis-3.5.3-1.el8.noarch 58/149 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-1.el8.x86_64 59/149 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-5.el8.noarch 60/149 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-2.el8.noarch 61/149 DEBUG util.py:445: Installing : python3-pyasn1-0.4.6-3.el8.noarch 62/149 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-1.el8.noarch 63/149 DEBUG util.py:445: Installing : python3-psutil-5.7.3-1.el8.x86_64 64/149 DEBUG util.py:445: Installing : python3-munch-2.5.0-3.el8.noarch 65/149 DEBUG util.py:445: Installing : python3-memcached-1.59-1.el8.noarch 66/149 DEBUG util.py:445: Installing : python3-logutils-0.3.5-11.el8.noarch 67/149 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-1.el8.noarch 68/149 DEBUG util.py:445: Installing : python3-zake-0.2.2-18.el8.noarch 69/149 DEBUG util.py:445: Installing : python3-jeepney-0.4.3-1.el8.noarch 70/149 DEBUG util.py:445: Installing : python3-secretstorage-3.1.1-4.el8.noarch 71/149 DEBUG util.py:445: Installing : python3-keyring-21.0.0-1.el8.noarch 72/149 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-2.el8.noarch 73/149 DEBUG util.py:445: Installing : python3-zeroconf-0.24.4-1.el8.noarch 74/149 DEBUG util.py:445: Installing : python3-future-0.18.2-3.el8.noarch 75/149 DEBUG util.py:445: Installing : python3-editor-1.0.4-4.el8.noarch 76/149 DEBUG util.py:445: Installing : python3-alembic-1.4.3-1.el8.noarch 77/149 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el8.noarch 78/149 DEBUG util.py:445: Installing : python3-cssselect-0.9.2-13.el8.noarch 79/149 DEBUG util.py:445: Installing : python3-colorama-0.4.3-3.el8.noarch 80/149 DEBUG util.py:445: Installing : python3-cmd2-1.4.0-1.1.el8.noarch 81/149 DEBUG util.py:445: Installing : python3-cachetools-4.2.0-1.el8.noarch 82/149 DEBUG util.py:445: Installing : python3-bcrypt-3.1.7-3.el8.x86_64 83/149 DEBUG util.py:445: Installing : python3-appdirs-1.4.3-12.el8.noarch 84/149 DEBUG util.py:445: Installing : libsodium-1.0.18-2.el8.x86_64 85/149 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-1.el8.x86_64 86/149 DEBUG util.py:445: Installing : python3-webencodings-0.5.1-6.el8.noarch 87/149 DEBUG util.py:445: Installing : python3-html5lib-1:0.999999999-6.el8.noarch 88/149 DEBUG util.py:445: Installing : python3-jsonpointer-1.10-11.el8.noarch 89/149 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-2.el8.noarch 90/149 DEBUG util.py:445: Installing : python3-warlock-1.3.3-1.el8.noarch 91/149 DEBUG util.py:445: Installing : python3-jmespath-0.9.0-11.el8.noarch 92/149 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faac 93/149 DEBUG util.py:445: Installing : ipmitool-1.8.18-19.el8.x86_64 94/149 DEBUG util.py:445: Running scriptlet: dnsmasq-2.79-31.el8.x86_64 95/149 DEBUG util.py:445: Installing : dnsmasq-2.79-31.el8.x86_64 95/149 DEBUG util.py:445: Running scriptlet: dnsmasq-2.79-31.el8.x86_64 95/149 DEBUG util.py:445: Installing : python3-inotify-0.9.6-13.el8.noarch 96/149 DEBUG util.py:445: Installing : libyaml-0.1.7-5.el8.x86_64 97/149 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-2.el8.x86_64 98/149 DEBUG util.py:445: Installing : python3-cliff-3.7.0-0.20210315123449.117a100.el8 99/149 DEBUG util.py:445: Installing : python3-stestr-2.6.0-4.el8.noarch 100/149 DEBUG util.py:445: Installing : libxslt-1.1.32-6.el8.x86_64 101/149 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.9.3-1.el8.noarch 102/149 DEBUG util.py:445: Installing : python3-lxml-4.2.3-4.el8.x86_64 103/149 DEBUG util.py:445: Installing : python3-dracclient-6.0.2-0.20220113135856.f23f12 104/149 DEBUG util.py:445: Installing : python3-webtest-2.0.35-3.el8.noarch 105/149 DEBUG util.py:445: Installing : python3-pecan-1.3.3-2.el8.noarch 106/149 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2021031509505 107/149 DEBUG util.py:445: Installing : python3-openstacksdk-0.55.1-0.20220406125402.f09 108/149 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1 109/149 DEBUG util.py:445: Installing : python3-os-traits-2.5.0-0.20210315123947.ac1b39e 110/149 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20210315104351.4179 111/149 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-2.4.1-0.202202 112/149 DEBUG util.py:445: Installing : python-oslo-utils-lang-4.8.2-0.20220428092247.a3 113/149 DEBUG util.py:445: Installing : python-oslo-policy-lang-3.7.1-0.20220119091831.6 114/149 DEBUG util.py:445: Installing : python-oslo-middleware-lang-4.2.1-0.202202250804 115/149 DEBUG util.py:445: Installing : python-oslo-log-lang-4.4.0-0.20210315105132.9b29 116/149 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.0.1-0.20210315103856.731 117/149 DEBUG util.py:445: Installing : python3-oslo-i18n-5.0.1-0.20210315103856.73187bd 118/149 DEBUG util.py:445: Installing : python3-oslo-utils-4.8.2-0.20220428092247.a38b56 119/149 DEBUG util.py:445: Installing : python3-oslo-config-2:8.5.1-0.20210907102309.de1 120/149 DEBUG util.py:445: Installing : python3-oslo-serialization-4.1.1-0.2022022508233 121/149 DEBUG util.py:445: Installing : python3-oslo-log-4.4.0-0.20210315105132.9b29c90. 122/149 DEBUG util.py:445: Installing : python3-keystoneclient-1:4.3.0-0.20220713080823. 123/149 DEBUG util.py:445: Installing : python3-oslo-policy-3.7.1-0.20220119091831.639b4 124/149 DEBUG util.py:445: Installing : python3-oslo-middleware-4.2.1-0.20220225080425.b 125/149 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-1.3.1-0.20220225074957 126/149 DEBUG util.py:445: Installing : python3-swiftclient-3.11.1-0.20210316052106.06b3 127/149 DEBUG util.py:445: Installing : python3-scciclient-0.10.2-0.20220802132904.b8e6e 128/149 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20210315104351.4179996.el 129/149 DEBUG util.py:445: Installing : python3-tooz-2.8.3-0.20220808091041.73dbe0e.el8. 130/149 DEBUG util.py:445: Installing : python3-cinderclient-7.4.1-0.20210903082820.4f72 131/149 DEBUG util.py:445: Installing : python3-glanceclient-1:3.3.0-0.20210315220313.f8 132/149 DEBUG util.py:445: Installing : python-oslo-db-lang-8.5.2-0.20221007170041.26fd6 133/149 DEBUG util.py:445: Installing : python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.e 134/149 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-4.4.0-0.20210315114 135/149 DEBUG util.py:445: Installing : python3-oslo-concurrency-4.4.0-0.20210315114231. 136/149 DEBUG util.py:445: Installing : python3-oslo-service-2.5.1-0.20220201082833.c1e3 137/149 DEBUG util.py:445: Installing : python3-oslo-messaging-12.7.3-0.20220428091418.5 138/149 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-2.4.1-0.2022022507 139/149 DEBUG util.py:445: Installing : python3-osprofiler-3.4.0-0.20210315111211.5d82a0 140/149 DEBUG util.py:445: Installing : python3-ironic-lib-4.6.4-0.20220808090402.27305f 141/149 DEBUG util.py:445: warning: group ironic does not exist - using root DEBUG util.py:445: Installing : python-oslo-cache-lang-2.7.1-0.20220301090510.d0 142/149 DEBUG util.py:445: Installing : python3-oslo-cache-2.7.1-0.20220301090510.d0252f 143/149 DEBUG util.py:445: Installing : python3-keystonemiddleware-9.2.0-0.2021031605290 144/149 DEBUG util.py:445: Running scriptlet: openstack-ironic-common-1:17.1.1-0.2023101203190 145/149 DEBUG util.py:445: Installing : openstack-ironic-common-1:17.1.1-0.2023101203190 145/149 DEBUG util.py:445: Installing : openstack-ironic-api-1:17.1.1-0.20231012031905.c 146/149 DEBUG util.py:445: Running scriptlet: openstack-ironic-api-1:17.1.1-0.20231012031905.c 146/149 DEBUG util.py:445: Installing : openstack-ironic-conductor-1:17.1.1-0.2023101203 147/149 DEBUG util.py:445: Running scriptlet: openstack-ironic-conductor-1:17.1.1-0.2023101203 147/149 DEBUG util.py:445: Installing : python3-ironic-tests-1:17.1.1-0.20231012031905.c 148/149 DEBUG util.py:445: Installing : openstack-ironic-dnsmasq-tftp-server-1:17.1.1-0. 149/149 DEBUG util.py:445: Running scriptlet: openstack-ironic-dnsmasq-tftp-server-1:17.1.1-0. 149/149 DEBUG util.py:445: Verifying : python3-dracclient-6.0.2-0.20220113135856.f23f12 1/149 DEBUG util.py:445: Verifying : python3-ironic-lib-4.6.4-0.20220808090402.27305f 2/149 DEBUG util.py:445: Verifying : python3-scciclient-0.10.2-0.20220802132904.b8e6e 3/149 DEBUG util.py:445: Verifying : python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8 4/149 DEBUG util.py:445: Verifying : python3-cinderclient-7.4.1-0.20210903082820.4f72 5/149 DEBUG util.py:445: Verifying : python3-glanceclient-1:3.3.0-0.20210315220313.f8 6/149 DEBUG util.py:445: Verifying : python3-keystoneclient-1:4.3.0-0.20220713080823. 7/149 DEBUG util.py:445: Verifying : python3-openstacksdk-0.55.1-0.20220406125402.f09 8/149 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20210315154727. 9/149 DEBUG util.py:445: Verifying : python3-oslotest-4.4.1-0.20210315103354.aaf3a72. 10/149 DEBUG util.py:445: Verifying : python3-stevedore-3.3.3-0.20221024072403.7b48fff 11/149 DEBUG util.py:445: Verifying : python3-swiftclient-3.11.1-0.20210316052106.06b3 12/149 DEBUG util.py:445: Verifying : python-oslo-cache-lang-2.7.1-0.20220301090510.d0 13/149 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-4.4.0-0.20210315114 14/149 DEBUG util.py:445: Verifying : python-oslo-db-lang-8.5.2-0.20221007170041.26fd6 15/149 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.0.1-0.20210315103856.731 16/149 DEBUG util.py:445: Verifying : python-oslo-log-lang-4.4.0-0.20210315105132.9b29 17/149 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-4.2.1-0.202202250804 18/149 DEBUG util.py:445: Verifying : python-oslo-policy-lang-3.7.1-0.20220119091831.6 19/149 DEBUG util.py:445: Verifying : python-oslo-utils-lang-4.8.2-0.20220428092247.a3 20/149 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-2.4.1-0.202202 21/149 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20210315104351.4179 22/149 DEBUG util.py:445: Verifying : python3-automaton-2.3.1-0.20220228091836.4a3e539 23/149 DEBUG util.py:445: Verifying : python3-cliff-3.7.0-0.20210315123449.117a100.el8 24/149 DEBUG util.py:445: Verifying : python3-debtcollector-2.2.0-0.20210315103218.649 25/149 DEBUG util.py:445: Verifying : python3-futurist-2.3.0-0.20210315104620.1a1c6f8. 26/149 DEBUG util.py:445: Verifying : python3-os-traits-2.5.0-0.20210315123947.ac1b39e 27/149 DEBUG util.py:445: Verifying : python3-oslo-cache-2.7.1-0.20220301090510.d0252f 28/149 DEBUG util.py:445: Verifying : python3-oslo-concurrency-4.4.0-0.20210315114231. 29/149 DEBUG util.py:445: Verifying : python3-oslo-config-2:8.5.1-0.20210907102309.de1 30/149 DEBUG util.py:445: Verifying : python3-oslo-context-3.2.1-0.20211026071333.b124 31/149 DEBUG util.py:445: Verifying : python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.e 32/149 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.0.1-0.20210315103856.73187bd 33/149 DEBUG util.py:445: Verifying : python3-oslo-log-4.4.0-0.20210315105132.9b29c90. 34/149 DEBUG util.py:445: Verifying : python3-oslo-messaging-12.7.3-0.20220428091418.5 35/149 DEBUG util.py:445: Verifying : python3-oslo-middleware-4.2.1-0.20220225080425.b 36/149 DEBUG util.py:445: Verifying : python3-oslo-policy-3.7.1-0.20220119091831.639b4 37/149 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1 38/149 DEBUG util.py:445: Verifying : python3-oslo-serialization-4.1.1-0.2022022508233 39/149 DEBUG util.py:445: Verifying : python3-oslo-service-2.5.1-0.20220201082833.c1e3 40/149 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-1.3.1-0.20220225074957 41/149 DEBUG util.py:445: Verifying : python3-oslo-utils-4.8.2-0.20220428092247.a38b56 42/149 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-2.4.1-0.2022022507 43/149 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.0-0.20210315111211.5d82a0 44/149 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20210315104351.4179996.el 45/149 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2021031509505 46/149 DEBUG util.py:445: Verifying : python3-tooz-2.8.3-0.20220808091041.73dbe0e.el8. 47/149 DEBUG util.py:445: Verifying : python3-keystoneauth1-4.3.1-0.20210315155409.112 48/149 DEBUG util.py:445: Verifying : python3-keystonemiddleware-9.2.0-0.2021031605290 49/149 DEBUG util.py:445: Verifying : libxslt-1.1.32-6.el8.x86_64 50/149 DEBUG util.py:445: Verifying : libyaml-0.1.7-5.el8.x86_64 51/149 DEBUG util.py:445: Verifying : python3-dateutil-1:2.6.1-6.el8.noarch 52/149 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-13.el8.noarch 53/149 DEBUG util.py:445: Verifying : dnsmasq-2.79-31.el8.x86_64 54/149 DEBUG util.py:445: Verifying : ipmitool-1.8.18-19.el8.x86_64 55/149 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faac 56/149 DEBUG util.py:445: Verifying : python3-attrs-17.4.0-6.el8.noarch 57/149 DEBUG util.py:445: Verifying : python3-html5lib-1:0.999999999-6.el8.noarch 58/149 DEBUG util.py:445: Verifying : python3-jmespath-0.9.0-11.el8.noarch 59/149 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-2.el8.noarch 60/149 DEBUG util.py:445: Verifying : python3-jsonpointer-1.10-11.el8.noarch 61/149 DEBUG util.py:445: Verifying : python3-lxml-4.2.3-4.el8.x86_64 62/149 DEBUG util.py:445: Verifying : python3-mako-1.0.6-14.el8.noarch 63/149 DEBUG util.py:445: Verifying : python3-netaddr-0.7.19-8.el8.noarch 64/149 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-4.el8.x86_64 65/149 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-14.el8.noarch 66/149 DEBUG util.py:445: Verifying : python3-pyOpenSSL-19.0.0-1.el8.noarch 67/149 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.29-1.el8.noarch 68/149 DEBUG util.py:445: Verifying : python3-webencodings-0.5.1-6.el8.noarch 69/149 DEBUG util.py:445: Verifying : libsodium-1.0.18-2.el8.x86_64 70/149 DEBUG util.py:445: Verifying : python3-alembic-1.4.3-1.el8.noarch 71/149 DEBUG util.py:445: Verifying : python3-amqp-5.0.5-1.el8.noarch 72/149 DEBUG util.py:445: Verifying : python3-appdirs-1.4.3-12.el8.noarch 73/149 DEBUG util.py:445: Verifying : python3-bcrypt-3.1.7-3.el8.x86_64 74/149 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.9.3-1.el8.noarch 75/149 DEBUG util.py:445: Verifying : python3-cachetools-4.2.0-1.el8.noarch 76/149 DEBUG util.py:445: Verifying : python3-cmd2-1.4.0-1.1.el8.noarch 77/149 DEBUG util.py:445: Verifying : python3-colorama-0.4.3-3.el8.noarch 78/149 DEBUG util.py:445: Verifying : python3-cssselect-0.9.2-13.el8.noarch 79/149 DEBUG util.py:445: Verifying : python3-decorator-4.4.0-5.el8.noarch 80/149 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el8.noarch 81/149 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.5-1.1.el8.noarch 82/149 DEBUG util.py:445: Verifying : python3-editor-1.0.4-4.el8.noarch 83/149 DEBUG util.py:445: Verifying : python3-etcd3gw-0.2.5-1.el8.noarch 84/149 DEBUG util.py:445: Verifying : python3-extras-1.0.0-10.el8.noarch 85/149 DEBUG util.py:445: Verifying : python3-fasteners-0.14.1-20.el8.noarch 86/149 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-16.el8.noarch 87/149 DEBUG util.py:445: Verifying : python3-future-0.18.2-3.el8.noarch 88/149 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-2.el8.noarch 89/149 DEBUG util.py:445: Verifying : python3-importlib-metadata-1.7.0-1.el8.noarch 90/149 DEBUG util.py:445: Verifying : python3-iso8601-0.1.12-3.el8.noarch 91/149 DEBUG util.py:445: Verifying : python3-jeepney-0.4.3-1.el8.noarch 92/149 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-5.el8.noarch 93/149 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-1.el8.noarch 94/149 DEBUG util.py:445: Verifying : python3-keyring-21.0.0-1.el8.noarch 95/149 DEBUG util.py:445: Verifying : python3-kombu-1:5.0.2-1.el8.noarch 96/149 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-11.el8.noarch 97/149 DEBUG util.py:445: Verifying : python3-memcached-1.59-1.el8.noarch 98/149 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-1.el8.noarch 99/149 DEBUG util.py:445: Verifying : python3-mock-3.0.5-7.el8.noarch 100/149 DEBUG util.py:445: Verifying : python3-msgpack-1.0.2-1.el8.x86_64 101/149 DEBUG util.py:445: Verifying : python3-munch-2.5.0-3.el8.noarch 102/149 DEBUG util.py:445: Verifying : python3-paste-3.5.0-1.el8.noarch 103/149 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-1.el8.noarch 104/149 DEBUG util.py:445: Verifying : python3-pecan-1.3.3-2.el8.noarch 105/149 DEBUG util.py:445: Verifying : python3-psutil-5.7.3-1.el8.x86_64 106/149 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.6-3.el8.noarch 107/149 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-1.el8.x86_64 108/149 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-4.el8.noarch 109/149 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-2.el8.noarch 110/149 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-1.el8.x86_64 111/149 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-1.el8.noarch 112/149 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-2.el8.x86_64 113/149 DEBUG util.py:445: Verifying : python3-redis-3.5.3-1.el8.noarch 114/149 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-6.el8.noarch 115/149 DEBUG util.py:445: Verifying : python3-rfc3986-1.4.0-3.el8.noarch 116/149 DEBUG util.py:445: Verifying : python3-routes-2.4.1-12.el8.noarch 117/149 DEBUG util.py:445: Verifying : python3-secretstorage-3.1.1-4.el8.noarch 118/149 DEBUG util.py:445: Verifying : python3-simplejson-3.17.2-2.el8.x86_64 119/149 DEBUG util.py:445: Verifying : python3-smi-0.3.4-6.el8.noarch 120/149 DEBUG util.py:445: Verifying : python3-soupsieve-2.1.0-1.el8.noarch 121/149 DEBUG util.py:445: Verifying : python3-sqlparse-0.3.1-3.el8.noarch 122/149 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-16.el8.noarch 123/149 DEBUG util.py:445: Verifying : python3-stestr-2.6.0-4.el8.noarch 124/149 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-1.el8.noarch 125/149 DEBUG util.py:445: Verifying : python3-tempita-0.5.1-25.el8.noarch 126/149 DEBUG util.py:445: Verifying : python3-tenacity-6.2.0-1.el8.noarch 127/149 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-1.el8.noarch 128/149 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-17.el8.noarch 129/149 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-3.el8.noarch 130/149 DEBUG util.py:445: Verifying : python3-vine-5.0.0-2.el8.noarch 131/149 DEBUG util.py:445: Verifying : python3-voluptuous-0.12.1-1.el8.noarch 132/149 DEBUG util.py:445: Verifying : python3-waitress-1.4.2-1.el8.noarch 133/149 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-1.el8.noarch 134/149 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-2.el8.noarch 135/149 DEBUG util.py:445: Verifying : python3-webob-1.8.6-3.el8.noarch 136/149 DEBUG util.py:445: Verifying : python3-webtest-2.0.35-3.el8.noarch 137/149 DEBUG util.py:445: Verifying : python3-wrapt-1.12.1-3.el8.x86_64 138/149 DEBUG util.py:445: Verifying : python3-yappi-1.3.0-1.el8.x86_64 139/149 DEBUG util.py:445: Verifying : python3-zake-0.2.2-18.el8.noarch 140/149 DEBUG util.py:445: Verifying : python3-zeroconf-0.24.4-1.el8.noarch 141/149 DEBUG util.py:445: Verifying : python3-zipp-3.4.0-1.el8.noarch 142/149 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-3.el8s.x86_64 143/149 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-3.el8s.x86_64 144/149 DEBUG util.py:445: Verifying : openstack-ironic-common-1:17.1.1-0.2023101203190 145/149 DEBUG util.py:445: Verifying : openstack-ironic-api-1:17.1.1-0.20231012031905.c 146/149 DEBUG util.py:445: Verifying : openstack-ironic-conductor-1:17.1.1-0.2023101203 147/149 DEBUG util.py:445: Verifying : openstack-ironic-dnsmasq-tftp-server-1:17.1.1-0. 148/149 DEBUG util.py:445: Verifying : python3-ironic-tests-1:17.1.1-0.20231012031905.c 149/149 DEBUG util.py:445: Installed: DEBUG util.py:445: dnsmasq-2.79-31.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-api-1:17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: openstack-ironic-common-1:17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: openstack-ironic-conductor-1:17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server-1:17.1.1-0.20231012031905.c31db88.el8.noarch DEBUG util.py:445: python-oslo-cache-lang-2.7.1-0.20220301090510.d0252f6.el8.noarch DEBUG util.py:445: python-oslo-concurrency-lang-4.4.0-0.20210315114231.7dcf9e9.el8.noarch DEBUG util.py:445: python-oslo-db-lang-8.5.2-0.20221007170041.26fd6fb.el8.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.0.1-0.20210315103856.73187bd.el8.noarch DEBUG util.py:445: python-oslo-log-lang-4.4.0-0.20210315105132.9b29c90.el8.noarch DEBUG util.py:445: python-oslo-middleware-lang-4.2.1-0.20220225080425.b40ca5f.el8.noarch DEBUG util.py:445: python-oslo-policy-lang-3.7.1-0.20220119091831.639b471.el8.noarch DEBUG util.py:445: python-oslo-utils-lang-4.8.2-0.20220428092247.a38b56a.el8.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-2.4.1-0.20220225075849.89ff171.el8.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20210315104351.4179996.el8.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-2.module_el8.5.0+761+faacb0fb.noarch DEBUG util.py:445: python3-alembic-1.4.3-1.el8.noarch DEBUG util.py:445: python3-amqp-5.0.5-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.3.1-0.20220228091836.4a3e539.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-cinderclient-7.4.1-0.20210903082820.4f72e6f.el8.noarch DEBUG util.py:445: python3-cliff-3.7.0-0.20210315123449.117a100.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-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.2.0-0.20210315103218.649189d.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-6.0.2-0.20220113135856.f23f125.el8.noarch DEBUG util.py:445: python3-editor-1.0.4-4.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-16.el8.noarch DEBUG util.py:445: python3-future-0.18.2-3.el8.noarch DEBUG util.py:445: python3-futurist-2.3.0-0.20210315104620.1a1c6f8.el8.noarch DEBUG util.py:445: python3-glanceclient-1:3.3.0-0.20210315220313.f802c71.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-inotify-0.9.6-13.el8.noarch DEBUG util.py:445: python3-ironic-lib-4.6.4-0.20220808090402.27305f0.el8.noarch DEBUG util.py:445: python3-ironic-tests-1:17.1.1-0.20231012031905.c31db88.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.3.1-0.20210315155409.112bcae.el8.noarch DEBUG util.py:445: python3-keystoneclient-1:4.3.0-0.20220713080823.d5cb761.el8.noarch DEBUG util.py:445: python3-keystonemiddleware-9.2.0-0.20210316052900.3659bda.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.2-1.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.55.1-0.20220406125402.f09ed4a.el8.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20210315154727.0b2f473.el8.noarch DEBUG util.py:445: python3-os-traits-2.5.0-0.20210315123947.ac1b39e.el8.noarch DEBUG util.py:445: python3-oslo-cache-2.7.1-0.20220301090510.d0252f6.el8.noarch DEBUG util.py:445: python3-oslo-concurrency-4.4.0-0.20210315114231.7dcf9e9.el8.noarch DEBUG util.py:445: python3-oslo-config-2:8.5.1-0.20210907102309.de1dbee.el8.noarch DEBUG util.py:445: python3-oslo-context-3.2.1-0.20211026071333.b124eb7.el8.noarch DEBUG util.py:445: python3-oslo-db-8.5.2-0.20221007170041.26fd6fb.el8.noarch DEBUG util.py:445: python3-oslo-i18n-5.0.1-0.20210315103856.73187bd.el8.noarch DEBUG util.py:445: python3-oslo-log-4.4.0-0.20210315105132.9b29c90.el8.noarch DEBUG util.py:445: python3-oslo-messaging-12.7.3-0.20220428091418.5d6fd1a.el8.noarch DEBUG util.py:445: python3-oslo-middleware-4.2.1-0.20220225080425.b40ca5f.el8.noarch DEBUG util.py:445: python3-oslo-policy-3.7.1-0.20220119091831.639b471.el8.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220228095841.1b1b960.el8.noarch DEBUG util.py:445: python3-oslo-serialization-4.1.1-0.20220225082330.bbe5d5a.el8.noarch DEBUG util.py:445: python3-oslo-service-2.5.1-0.20220201082833.c1e3398.el8.noarch DEBUG util.py:445: python3-oslo-upgradecheck-1.3.1-0.20220225074957.9561ecb.el8.noarch DEBUG util.py:445: python3-oslo-utils-4.8.2-0.20220428092247.a38b56a.el8.noarch DEBUG util.py:445: python3-oslo-versionedobjects-2.4.1-0.20220225075849.89ff171.el8.noarch DEBUG util.py:445: python3-oslotest-4.4.1-0.20210315103354.aaf3a72.el8.noarch DEBUG util.py:445: python3-osprofiler-3.4.0-0.20210315111211.5d82a02.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-prettytable-0.7.2-14.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.20210315104351.4179996.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.20210315095058.d7ac0ff.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.10.2-0.20220802132904.b8e6e34.el8.noarch DEBUG util.py:445: python3-secretstorage-3.1.1-4.el8.noarch DEBUG util.py:445: python3-simplejson-3.17.2-2.el8.x86_64 DEBUG util.py:445: python3-smi-0.3.4-6.el8.noarch DEBUG util.py:445: python3-soupsieve-2.1.0-1.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-2.6.0-4.el8.noarch DEBUG util.py:445: python3-stevedore-3.3.3-0.20221024072403.7b48fff.el8.noarch DEBUG util.py:445: python3-subunit-1.4.0-1.el8.noarch DEBUG util.py:445: python3-sushy-3.7.6-0.20221111103903.9b3cf44.el8.noarch DEBUG util.py:445: python3-swiftclient-3.11.1-0.20210316052106.06b36ae.el8.noarch DEBUG util.py:445: python3-tempita-0.5.1-25.el8.noarch DEBUG util.py:445: python3-tenacity-6.2.0-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.8.3-0.20220808091041.73dbe0e.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.12.1-3.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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-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-wallaby-x86_64-5-bootstrap/root/home/centos8-wallaby/data/repos/component/baremetal/c3/1d/c31db88e96a797621c035a21c4f7cfd39b00ef8f_04a54d96'] 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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos8-wallaby-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-wallaby-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-wallaby-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-wallaby-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: ['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-wallaby-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-wallaby-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-wallaby-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